You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ha...@apache.org on 2026/09/12 04:15:51 UTC

(superset) branch feat/migrate-frontend-to-esm updated (fd489851fc7 -> f40e091a96d)

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

hainenber pushed a change to branch feat/migrate-frontend-to-esm
in repository https://gitbox.apache.org/repos/asf/superset.git


    from fd489851fc7 Merge branch 'master' into feat/migrate-frontend-to-esm
     add 1358543827f fix(sqllab): preserve ClickHouse LIMIT BY when applying the row limit (#43578)
     add fe1b368bcd8 feat: add dashed line support for derived series (timeseries comparison) on MixedTimeseries chart (#34794)
     add 18d277c096d ci(playwright): make embedded and app-root E2E coverage required (#43919)
     add f3896ccf209 fix(explore): say when filter-value suggestions could not be loaded (#43779)
     add c03f3441bd5 feat(mcp): gauge chart type plugin (#43568)
     add 87f138cc80a docs(mcp): add theme management tools to AI/MCP tools reference (#43899)
     add df3abe474c4 docs(theming): document new component sizing tokens and HIDE_NAVBAR_LOGO (#43639)
     add 7d09490bb82 fix(security): grant SQL Lab query authors an explore access bypass (#39296) (#42590)
     add 0db9ca74012 chore(deps): bump @ant-design/icons from 6.3.2 to 6.3.3 in /docs (#43951)
     add 7c9c32651c7 chore(deps): bump react-error-boundary from 6.1.3 to 6.1.4 in /superset-frontend (#43959)
     add 07052752b68 chore(deps-dev): bump tsx from 4.23.12 to 4.23.13 in /superset-frontend (#43958)
     add b8fb5a268c9 chore(deps): bump zod from 4.4.3 to 4.5.4 in /superset-frontend (#43957)
     add e5e6d748195 chore(deps-dev): bump webpack from 5.110.1 to 5.110.2 in /superset-frontend (#43956)
     add a5377541c92 chore(deps): bump zizmorcore/zizmor-action from 0.6.2 to 0.6.3 (#43954)
     add 06913244de4 chore(deps-dev): bump webpack from 5.110.1 to 5.110.2 in /docs (#43952)
     add 4eff13b81e9 chore(deps-dev): bump webpack from 5.110.0 to 5.110.2 in /superset-embedded-sdk (#43953)
     add 92bd2ba0572 chore(deps): bump @ant-design/icons from 6.3.2 to 6.3.3 in /superset-frontend (#43955)
     add 53070fa4c04 fix(dashboard): resolve metric Label in Chart Data (View as table) results grid (#43719)
     add 4440887dc2b fix(security): use self-repository syntax for setup-backend action ref (#43968)
     add 233f6379ae5 fix(ci): use self-repository syntax for supersetbot setup in tag-release (#43965)
     add d22069a7af3 fix(security): use GitHub self-repository syntax for local action refs (#43969)
     add 574d121cd86 fix(security): use self-repository uses syntax in supersetbot workflow (#43962)
     add 8d6044a1475 fix(sqllab): wrap cost-estimate JSON parse to prevent raw JSONDecodeError leak (#43888)
     add 1fb6b989413 fix: downgrade md5 namespace-fallback deprecation log to info (#43884)
     add 1b3758d2a4d ci: add ASF GitHub Actions allowlist check (#43844)
     add bd3ab309073 chore(deps): bump @ant-design/icons from 6.3.3 to 6.3.4 in /superset-frontend (#43982)
     add 89786160f97 chore(deps): bump @ant-design/icons from 6.3.3 to 6.3.4 in /docs (#43981)
     add cdb6c8e0c90 chore(deps-dev): bump the typescript-eslint group in /superset-frontend with 2 updates (#43980)
     add c4e145b071f fix(sql_lab): raise 400 not 500 on malformed Jinja during CSV export access check (#43866)
     add 7d0cf1acfc8 docs(scarf-404): replace dead links by the Scarf homepage (#43973)
     add 7382ee0bfec fix(dashboard): prevent header metadata bar from overlapping action buttons at narrow widths (#43845)
     add ad319bd8a3c fix(docs): unbreak Netlify docs preview build (#44001)
     add 056fd218d44 fix: handle missing table element in downloadAsPivotExcel (#39386)
     add 08694d64cb8 fix(plugin-chart-table): declare DataTable hooks before the early return (#43150)
     add 204ccc7ce7f fix(datasets): apply Schema filter on the combined datasource list (#43829)
     add 33c6df77c99 fix(database): don't reattach stored connection details when the effective destination changes (#44003)
     add c45fc6a31a2 feat(embedded): diagnose guest-token header size budgets (#43944)
     add 57eafd75e0c docs(handlebars): correct helper names that are not registered (#44020)
     add 067a356b6f0 fix(chart): include echart_options in Matrixify render-trigger allowlist (#43946)
     add 3ccab2ea7aa fix(time-format): share DateWithFormatter and stop reading four-digit years as epoch offsets (#43909)
     add a114b4cc468 fix(import): skip redundant has_table check when dataset import has no data URI (#43808)
     add 85ea6e900a4 docs(mcp): document MCP_STATELESS_HTTP and its multi-pod tradeoff (#43902)
     add 60553b4326a docs(ag-grid): document Show summary support for Raw Records mode (#43905)
     add 7029c468c4d fix(reports): bound CSV transport retries and sanitize failures (#43977)
     add bc35151350c docs(handlebars): correct helper names in the 6.1.0 versioned docs (#44024)
     add 04ab089962f chore(deps): bump @swc/html from 1.15.43 to 1.16.2 in /docs in the security group across 1 directory (#44023)
     add 5986fe92c2f fix(rls): roll back db.session after RLS failure in get_from_clause (#43883)
     add e6d088d6b1b fix(mcp): surface rejected filter columns in get_chart_sql (#43680)
     add 10866337c5c docs(helm): document Gateway API HTTPRoute support (#43635)
     add 1339bdc6ce1 ci: bump ASF allowlist-check to v1.0.1 for self-repository syntax support (#44014)
     add 7b65d222050 chore(tags): TAGGING_SYSTEM to True by default (#39888)
     add 83d5d1ccdad fix(security): use GitHub self-repository syntax for local action ref (#43961)
     add 02ea5775c10 fix(ci): use self-repository syntax for local supersetbot action ref (#43963)
     add 9d89dbddc7b fix(security): use self-repository syntax for change-detector action ref (#43971)
     add 0e6170aaa3b fix(security): use self-repository syntax for setup-backend ref in unit-test workflow (#43970)
     add 380675662d8 fix(ci): use self-repository syntax for local actions in presto-hive workflow (#43975)
     add 3564baabf6e fix(security): suppress zizmor self-repository false positive for setup-backend step (#44018)
     add 335a2a78ea8 fix(dashboard): expand clipped scrollable content before screenshot/PDF export (#43979)
     add fa31e9c1c32 fix(security): suppress zizmor self-repository false positive for cached-dependencies (#43972)
     add 362d3509cb0 fix(security): suppress zizmor self-repository false positive for cached-dependencies in presto-hive workflow (#43984)
     add 3828dcb9225 fix(security): suppress zizmor self-repository false positive for cached-dependencies in presto-hive workflow (#43976)
     add 91f4d01ca2c fix(chart-creation): stop antd v6 Steps from doubling the icon-content gap (#43730)
     add c510946df55 fix: BigQuery pivot-table Custom SQL row label with a space drops from GROUPING SETS (#43720)
     add 9de50b85e5a chore(deps): bump the security group across 1 directory with 3 updates (#44029)
     add d0f139c2104 feat(deps): bump `flask-caching` from 2.4.1 to 2.5.0 + bump `flask` from v2 to v3 (#43875)
     add 2875c76d55a chore(deps): bump react-ace from 14.0.1 to 15.0.0 in /superset-frontend (#42833)
     add acb29937aed chore(deps): bump the security group across 1 directory with 3 updates (#44030)
     add 986b648f1ca fix(versioning): resolve dashboard M2M membership by attach/detach windows, not end_transaction_id (#44010)
     add daf41bdf046 fix(security): suppress zizmor self-repository false positive for sqlite install-deps step (#44002)
     add 9669e414711 chore(build): remove legacy re-export shim used for development (#42190)
     add c9965c7bf41 feat(folders): drag and drop visible elements (columns/metrics) of folders in explore view (#42483)
     add 5d771e9f467 fix(dataset): apply the import overwrite permission check to identity-matched datasets (#43058)
     add 50c1504cac4 fix(db_engine_specs): cast VARCHAR before Postgres DATE_TRUNC (#43167)
     add c503f92642a fix(charts): restrict Prophet time grain schema validation to supported Prophet grains (#43585)
     add 613871ed363 fix(native-filters): stabilize DefaultValue's filterState object identity (#43859)
     add 4f26627a6a9 fix(native-filters): stop Date Range calendar popup from clipping in overflow dropdown (#43978)
     add fc110d8428f fix(versioning): enforce is_managed_externally on version restore (#44013)
     add c76e4d98f2c fix(api): advertise only the time grains Prophet can resolve (#43710)
     add 1ab6077e060 fix(filters): clamp filter bar row while remeasuring after items change (#43966)
     add 9079f002ee1 fix(dashboard): scope tab-diff report lookup to the edited dashboard (#43989)
     add de08dc207c0 chore(deps-dev): bump @types/node from 26.4.0 to 26.4.1 in /superset-frontend (#44062)
     add 010c7a12edb chore(deps): bump query-string from 9.5.0 to 9.5.1 in /superset-frontend (#44061)
     add 176a50d2544 chore(deps-dev): bump webpack from 5.110.2 to 5.110.3 in /superset-frontend (#44060)
     add cb2188aec3e chore(deps-dev): bump babel-jest from 30.5.0 to 30.5.1 in /superset-frontend (#44059)
     add 638f87de5f7 chore(deps-dev): bump jest from 30.5.0 to 30.5.1 in /superset-frontend (#44058)
     add 677e9189f12 chore(deps-dev): bump oxfmt from 0.65.0 to 0.66.0 in /superset-frontend (#44056)
     add e170822a28d chore(deps-dev): bump oxfmt from 0.65.0 to 0.66.0 in /docs (#44054)
     add ea287c1ab0f chore(deps-dev): bump webpack from 5.110.2 to 5.110.3 in /docs (#44053)
     add 5e99f14ac90 chore(deps-dev): bump oxlint from 1.80.0 to 1.81.0 in /superset-websocket (#44051)
     add 0a412b07cb0 chore(deps-dev): bump webpack from 5.110.2 to 5.110.3 in /superset-embedded-sdk (#44050)
     add d38f20e5ad2 chore(deps): bump query-string from 9.5.0 to 9.5.1 in /superset-frontend (#44061)
     add e43f44e91ed chore(deps-dev): bump @types/node from 26.4.0 to 26.4.1 in /superset-embedded-sdk (#44048)
     add df95ab23ec2 chore(deps-dev): bump @types/node from 26.4.0 to 26.4.1 in /superset-websocket (#44046)
     add 49b9347974e fix(charts): preserve dataset conversion when saving SQL Lab charts (#43988)
     add 7b83ed83746 fix(mcp): align execute_sql table-access checks with the SQL Lab path (#43998)
     add 954dbc9ff61 fix(dataset): validate SQL table access on virtual dataset import (#43999)
     add 57a92170bd5 fix(chart): apply the query-context datasource check on create and update (#43997)
     add 4d8dfdd1520 fix(sqllab): restrict TabStateView updates to owned columns and queries (#43992)
     add 97329bb1cf1 fix(reports): detect perceptually blank screenshots (#44034)
     add 08e686b5353 fix(mcp): complete Gauge chart support follow-up (#43943)
     add 07a8f8b9845 chore(deps-dev): bump oxlint from 1.80.0 to 1.81.0 in /docs (#44052)
     add 7f06e4eb605 feat(table): add opt-in migration from Table V1 to Table V2 (#42088)
     add d1ad6aeda63 chore(docker): speed up image builds and the compose dev loop (#43916)
     add 80ebfad0941 fix(security): suppress zizmor self-repository false positive for npm install step (#44076)
     add c442180328f fix(security): use self-repository syntax for chart-testing action ref (#44083)
     add 68528e33086 chore(deps-dev): bump jest-environment-jsdom from 30.5.0 to 30.5.1 in /superset-frontend (#44055)
     add 4686d133796 fix(security): use self-repository syntax for change-detector in Playwright workflow (#44086)
     add 0fe58044cba fix(security): use self-repository syntax for setup-backend in Playwright workflow (#44085)
     add f73ccee7829 fix(couchbase): remove debug prints that emit the connection URI to stdout (#44070)
     add 072a29ddb55 fix(security): suppress zizmor self-repository false positive for playwright build step (#44073)
     add ce700f389c7 fix(security): suppress zizmor self-repository false positive for postgres setup step (#44084)
     add 4aca0d7da41 fix(security): suppress zizmor self-repository false positive for playwright install step (#44074)
     add 09522cc4b89 fix(security): suppress zizmor self-repository false positive for playwright test-data step (#44075)
     add 196fe87c54b fix(security): use self-repository syntax for setup-backend in mysql job (#44066)
     add b1c6401e82c fix(security): suppress zizmor self-repository false positive for mysql setup step (#44067)
     add 9267d8b6669 fix(security): suppress zizmor self-repository false positive for playwright experimental step (#44064)
     add 4dcc800b58c fix(security): use self-repository syntax for change-detector in integration tests (#44065)
     add a78591be60e chore(deps-dev): bump oxfmt from 0.65.0 to 0.66.0 in /superset-websocket (#44049)
     add 078915f4ced docs(contributing): update legacy rst reference (#44087)
     add f66843ef0c7 fix(plugin-chart-table): stop narrowing sticky header/footer width (#43937)
     add 0534d569d03 fix(sqllab): mark early-cancelled query stopped, not stuck running (#43889)
     add 70346a51b69 perf(examples): dedupe dataset imports, right-size chunksize, add timing to load_examples (#43907)
     add 29dd683f801 fix(database): set default catalog on dataset created from file uploads (#43586)
     add b1185d8c05c fix(sql): preserve optimizer hints when formatting semicolon-terminated statements with trailing comments (#43565)
     add e0103fa8896 fix(plugin-chart-echarts): honor per-metric formats in Timeseries tooltips (#43113)
     add 67d170e6119 fix(reports): don't send both chart and dashboard on create (#43137)
     add 3e13b89427e feat(ci): add testcontainers-based db_engine_specs tests (7 dialects) (#43502)
     add 0484f9c2091 fix(database): sync schema_access permissions on import (#43950)
     add f8caa2bc2b4 fix(dashboard): stop duplicate cross-filter chips in FilterBar (#43949)
     add f69023a9c6c fix(dashboard): freeze nested tabs to the top when scrolling down (#43940)
     add 9a02c4b611b chore: deprecate helm chart (#44097)
     add 74eb298eb68 fix(mcp): preserve chart form data on update (#43679)
     add b75f6292862 chore(deps-dev): bump oxlint from 1.80.0 to 1.81.0 in /superset-frontend (#44057)
     add a9424afb4e9 chore(deps-dev): remove unused `globals` from /superset-websocket (#44047)
     add e4440b614c5 fix(database): reject non-dict extra field in extra_validator (#44092)
     add 62fa7a371b8 fix(charts/data): return 400 instead of 500 on reversed date range (SC-118279) (#43517)
     add 3f780c503ec fix(ci): add per-PR concurrency to the Showtime trigger workflow (#44120)
     add bc057813ae7 feat(ci): restore container image vulnerability scanning with Grype (#44035)
     add 4e4cdf421c4 fix(security): suppress zizmor self-repository false positive for hive setup-postgres step (#44037)
     add 71e6c5f3cdc fix(security): suppress zizmor self-repository false positive for postgres setup step (#44038)
     add 37c6037452c fix(security): use self-repository syntax for setup-backend in postgres job (#44040)
     add 638ad7980c1 fix(security): suppress zizmor self-repository false positive for celery worker step (#43986)
     add 09ae6fa3c3f fix(security): suppress zizmor self-repository false positive for sqlite celery worker step (#43996)
     add 2030adb5ce7 fix(security): suppress zizmor self-repository false positive for mysql celery worker step (#44041)
     add 4edf7b10052 fix(deps): cap mcp to <2.0 to match fastmcp 3.x's own constraint (#44039)
     add c915e63aa4f fix(security): suppress zizmor self-repository false positive for playwright mobile step (#44045)
     add 731a97dbe66 fix(security): suppress zizmor self-repository false positive for postgres celery worker step (#44026)
     add af2563f9c3a docs(i18n): document versioned language pack script delivery (#43904)
     add bdae45fee3f docs(mcp): document delete_chart and delete_dashboard tools (#43898)
     add b02c7afa00a feat(resample): Add "Fill the entire time range" option to Resample controls (#42587) (#42609)
     add 1b469831273 fix(sql): detect disallowed functions via AST (#42072)
     add b9407b67b3f fix(ci): skip Showtime jobs for unrelated PR events (#44123)
     add 1820a162dbe fix(maplibre): wire up maplibre-gl 6's worker for plugin-chart-point-cluster-map (#44042)
     add 181ca7d0eb9 fix(country-map): Madagascar's boundaries should have unique ISO (#42471)
     add 64205357d25 fix(rison-filters): only catch ParserException when parsing filters (#43076)
     add e22ce197866 fix(i18n): improve Simplified Chinese translations (#43813)
     add b6ead0d4292 fix(semantic-layers): apply datasource access checks on layer endpoints (#41430)
     add fbd75f00865 fix(dashboard): apply the import overwrite permission check to slug-matched dashboards (#42582)
     add e5c2a3e4f68 fix(datasets): warn about affected charts and dashboards on bulk delete (#43967)
     add 46d40e18b04 fix(mcp): expose resolved query time boundaries (#44105)
     add b20ad093910 feat: add conditional formating to CountryMap plugin (#42941)
     add 7df4bf3f776 fix(country-map): Malawi map - add missing Karonga district, de-duplicate Chitipa (#42842)
     add f490bf5a784 fix(funnel): prevent horizontal legends from overlapping the chart by default (#43112)
     add 3f644427851 fix(docker): install the frontend from the lockfile in docker-frontend.sh (#43168)
     add 12e747437d1 fix(reports): recheck readiness at capture time (#44114)
     add 78e1762255b fix(mcp): honor forwarded active dashboard filters in get_chart_preview and get_chart_info (#44022)
     add 39944ffd470 fix(mcp): make unknown dataset dimension errors actionable (#44106)
     add 13b7bcd6c1e fix(sqllab): wrap raw DBAPI errors in query cost estimation (#43934)
     add 412ab43712b fix(cache): key on resolved bounds when a query has no time_range (#43914)
     add 1b03ad89fb7 feat(mcp): treemap chart type plugin (#43569)
     add 70961a68b9c chore(ci): use self-repository syntax for local action references (#44131)
     add 89565dbb49d fix(explore): surface a toast when pivot Excel export can't find the table (#44031)
     add eb8efaa8f5c chore(deps-dev): bump yeoman-test from 11.6.0 to 11.7.0 in /superset-frontend (#44137)
     add d3d09b9ae7a chore(deps): bump react-map-gl from 8.1.2 to 8.1.3 in /superset-frontend (#44136)
     add be608f7359e chore(deps-dev): bump the storybook group in /superset-frontend with 6 updates (#44135)
     add b415d78ac78 chore(deps): bump the storybook group in /docs with 2 updates (#44134)
     add 06e3a325ae8 chore(deps): bump pymongosql to 0.7.4 (#44166)
     add 0aa445ed0fb chore(deps-dev): bump baseline-browser-mapping from 2.11.20 to 2.11.21 in /superset-frontend (#44164)
     add 789b9055210 chore(deps): bump mapbox-gl from 3.29.0 to 3.30.0 in /superset-frontend (#44163)
     add b3aa8ef796b chore(deps-dev): bump minimizer-webpack-plugin from 5.8.0 to 5.9.0 in /superset-frontend (#44162)
     add f1d1a826cad chore(deps): bump supercluster from 9.0.0 to 9.1.0 in /superset-frontend (#44161)
     add 36361d9d046 chore(deps): bump postcss from 8.5.26 to 8.5.28 in /superset-frontend (#44160)
     add 774a51124ed chore(deps): bump baseline-browser-mapping from 2.11.20 to 2.11.21 in /docs (#44159)
     add 0a4d3ee3aca chore(deps-dev): bump vitest from 4.1.11 to 5.0.0 in /superset-websocket (#44157)
     add 83530957a8d chore(deps-dev): bump vitest from 4.0.18 to 5.0.0 in /superset-embedded-sdk (#44158)
     add 1f9782ee585 docs(versioning): describe the one-time settings-migration history entry (#43776)
     add b366958da31 docs(security): edit-gate version-history and change metadata (#44033)
     add 3d01094d231 feat(docker): batteries-included default image, minimal image to -lean (#44100)
     add 3e7bdec53bb ci(python-unit): run the unit suite in parallel with pytest-xdist (#44178)
     add f40e091a96d Merge branch 'master' into feat/migrate-frontend-to-esm

No new revisions were added by this update.

Summary of changes:
 .github/actions/change-detector/label-draft-pr.yml |   23 -
 .github/actions/setup-docker/action.yml            |    6 +-
 .github/workflows/asf-allowlist-check.yml          |   46 +
 .github/workflows/bump-python-package.yml          |    2 +-
 .github/workflows/check-openapi-spec-drift.yml     |    2 +-
 .github/workflows/check-python-deps.yml            |    4 +-
 .github/workflows/codeql-analysis.yml              |    2 +-
 .github/workflows/dependency-review.yml            |    2 +-
 .github/workflows/docker.yml                       |   68 +-
 .../workflows/enforce-single-migration-head.yml    |    2 +-
 .github/workflows/github-action-validator.yml      |    2 +-
 .github/workflows/issue-creation.yml               |    2 +-
 .github/workflows/pr-lint.yml                      |    8 +-
 .github/workflows/pre-commit.yml                   |    2 +-
 .../workflows/scheduled-docker-image-refresh.yml   |   14 +-
 .github/workflows/showtime-trigger.yml             |   26 +-
 .github/workflows/superset-app-cli.yml             |   12 +-
 .github/workflows/superset-docs-deploy.yml         |   11 +-
 .github/workflows/superset-e2e.yml                 |  155 +-
 .github/workflows/superset-extensions-cli.yml      |    4 +-
 .github/workflows/superset-frontend.yml            |    2 +-
 .github/workflows/superset-helm-lint-test.yml      |   10 +-
 .github/workflows/superset-playwright.yml          |   89 +-
 .../workflows/superset-python-integrationtest.yml  |   56 +-
 .github/workflows/superset-python-presto-hive.yml  |   38 +-
 .github/workflows/superset-python-unittest.yml     |   17 +-
 .github/workflows/superset-translations.yml        |   14 +-
 .github/workflows/supersetbot.yml                  |    2 +-
 .github/workflows/tag-release.yml                  |    8 +-
 .github/workflows/testcontainers.yml               |  184 +
 .pre-commit-config.yaml                            |    2 +-
 Dockerfile                                         |  118 +-
 SECURITY.md                                        |    4 +
 UPDATING.md                                        |   75 +-
 docker-compose-image-tag.yml                       |    2 +-
 docker-compose-light.yml                           |    3 +-
 docker-compose-non-dev.yml                         |    5 +-
 docker-compose.yml                                 |   24 +-
 docker/.env                                        |    6 +
 docker/docker-frontend.sh                          |    6 +-
 docker/docker-init.sh                              |   36 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |   56 +-
 .../configuration/configuring-superset.mdx         |   40 +
 .../admin_docs/configuration/country-map-tools.mdx |    2 +-
 docs/admin_docs/configuration/mcp-server.mdx       |   62 +-
 docs/admin_docs/configuration/theming.mdx          |  124 +
 docs/admin_docs/installation/docker-builds.mdx     |   59 +-
 docs/admin_docs/installation/docker-compose.mdx    |    8 +-
 .../installation/installation-methods.mdx          |    4 +-
 docs/admin_docs/installation/kubernetes.mdx        |  460 +--
 .../version-6.1.0/installation/docker-compose.mdx  |    2 +-
 .../version-6.1.0/installation/kubernetes.mdx      |    2 +-
 .../contributing/development-setup.md              |    7 +-
 docs/developer_docs/contributing/overview.md       |    2 +-
 docs/docs/faq.mdx                                  |    2 +-
 docs/docs/index.mdx                                |    2 +-
 .../creating-your-first-dashboard.mdx              |    9 +
 docs/docs/using-superset/embedding.mdx             |   48 +
 docs/docs/using-superset/exploring-data.mdx        |    6 +
 docs/docs/using-superset/handlebars-chart.mdx      |   76 +-
 .../docs/using-superset/using-ai-with-superset.mdx |   44 +-
 docs/docs/using-superset/version-history.mdx       |   11 +
 docs/netlify.toml                                  |    7 +-
 docs/package.json                                  |   14 +-
 docs/src/data/databases.json                       |    2 +-
 docs/static/feature-flags.json                     |   12 +-
 docs/static/llms.txt                               |    2 +-
 docs/static/resources/openapi.json                 |   97 +-
 .../version-6.0.0/installation/docker-compose.mdx  |    2 +-
 .../version-6.0.0/installation/kubernetes.mdx      |    2 +-
 .../using-superset/handlebars-chart.mdx            |   76 +-
 docs/yarn.lock                                     |  772 ++--
 helm/superset/Chart.yaml                           |    7 +-
 helm/superset/README.md                            |   11 +-
 helm/superset/README.md.gotmpl                     |    7 +
 pyproject.toml                                     |   40 +-
 pytest.ini                                         |    8 +-
 requirements/base.txt                              |    9 +-
 requirements/development.in                        |   29 +-
 requirements/development.txt                       |  173 +-
 scripts/change_detector.py                         |    1 +
 superset-embedded-sdk/package-lock.json            |  394 +-
 superset-embedded-sdk/package.json                 |    6 +-
 superset-frontend/.storybook/main.mjs              |    8 +-
 superset-frontend/package-lock.json                | 2044 +++++----
 superset-frontend/package.json                     |   40 +-
 .../packages/generator-superset/package.json       |    4 +-
 .../superset-core/src/translation/index.ts         |    4 -
 .../superset-core/src/translation/types/index.ts   |    4 +-
 .../superset-core/src/translation/types/jed.ts     |    2 -
 .../superset-ui-chart-controls/package.json        |    2 +-
 .../src/operators/resampleOperator.ts              |    3 +
 .../src/sections/advancedAnalytics.tsx             |   24 +
 .../superset-ui-chart-controls/src/types.ts        |    2 -
 .../test/operators/resampleOperator.test.ts        |   43 +
 .../packages/superset-ui-core/package.json         |    8 +-
 .../src/chart/components/StatefulChart.test.tsx    |   98 +
 .../src/chart/components/StatefulChart.tsx         |   30 +
 .../packages/superset-ui-core/src/chart/index.ts   |    4 -
 .../superset-ui-core/src/chart/types/Base.ts       |   13 +-
 .../src/chart/types/QueryResponse.ts               |    2 -
 .../src/chart/types/TransformFunction.ts           |    2 -
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |   55 +
 .../ConfirmStatusChange.test.tsx                   |   23 +
 .../src/components/ConfirmStatusChange/index.tsx   |    2 +
 .../src/components/ConfirmStatusChange/types.ts    |    6 +
 .../DropdownContainer/DropdownContainer.test.tsx   |   71 +
 .../DropdownContainer/DropdownContainer.tsx        |   13 +-
 .../PageHeaderWithActions.stories.tsx              |  102 +
 .../PageHeaderWithActions.test.tsx                 |   19 +-
 .../src/components/PageHeaderWithActions/index.tsx |    6 +-
 .../src/components/ThemedAgGridReact/index.tsx     |    1 +
 .../superset-ui-core/src/connection/index.ts       |    1 -
 .../superset-ui-core/src/connection/types.ts       |    2 -
 .../superset-ui-core/src/dimension/index.ts        |    1 -
 .../superset-ui-core/src/dimension/types.ts        |    2 -
 .../superset-ui-core/src/query/api/legacy/index.ts |    1 -
 .../superset-ui-core/src/query/api/legacy/types.ts |    2 -
 .../src/query/types/AdvancedAnalytics.ts           |    2 -
 .../superset-ui-core/src/query/types/Column.ts     |    2 -
 .../superset-ui-core/src/query/types/Dashboard.ts  |    2 -
 .../superset-ui-core/src/query/types/Datasource.ts |    2 -
 .../superset-ui-core/src/query/types/Metric.ts     |    2 -
 .../src/query/types/PostProcessing.ts              |    7 +
 .../superset-ui-core/src/query/types/Query.ts      |    2 -
 .../src/query/types/QueryFormData.ts               |    2 -
 .../src/query/types/QueryResponse.ts               |    2 -
 .../superset-ui-core/src/query/types/Time.ts       |    2 -
 .../superset-ui-core/src/query/types/index.ts      |   12 -
 .../src/time-format}/DateWithFormatter.ts          |   22 +-
 .../superset-ui-core/src/time-format/index.ts      |    4 +
 .../src/time-format/utils/stringifyTimeInput.ts    |   15 +-
 .../packages/superset-ui-core/src/types/AgGrid.ts  |    1 +
 .../test/time-format}/DateWithFormatter.test.ts    |   23 +-
 .../time-format/utils/stringifyTimeInput.test.ts   |   23 +
 .../src/AgGridTable/index.tsx                      |  503 ++-
 .../src/AgGridTableChart.tsx                       |  353 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   65 +-
 .../src/controlPanel.tsx                           |  149 +-
 .../plugin-chart-ag-grid-table/src/index.ts        |    3 +-
 .../src/stateConversion.ts                         |   18 +
 .../src/styles/index.tsx                           |    2 +
 .../src/transformProps.ts                          |  122 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |   10 +-
 .../src/utils/externalAPIs.ts                      |   12 +
 .../src/utils/formatValue.ts                       |   38 +-
 .../src/utils/getCellStyle.ts                      |   96 +-
 .../src/utils/getScrollBarSize.ts}                 |   45 +-
 .../src/utils/getTimeRangeFromGranularity.ts       |   80 +
 .../src/utils/isEqualColumns.ts                    |   71 +-
 .../src/utils/useColDefs.ts                        |   60 +-
 .../test/AgGridTableChart.test.tsx                 |  142 +-
 .../test/buildQuery.test.ts                        |   82 +
 .../test/controlPanel.test.ts                      |   42 +
 .../test/controlPanel.test.tsx                     |   32 +
 .../test/drillToDetail.test.tsx                    |  290 ++
 .../test/formatValue.test.ts                       |  172 +
 .../test/memoization.test.ts                       |   13 +-
 .../test/stateConversion.test.ts                   |   46 +-
 .../test/transformProps.test.ts                    |  116 +
 ...rmatter.test.ts => formatDurationValue.test.ts} |   23 +-
 .../test/utils/getCellStyle.test.ts                |   67 +
 .../test/utils/useColDefs.test.ts                  |   73 +
 .../scripts/Country Map GeoJSON Generator.ipynb    |  Bin 11010873 -> 226846 bytes
 .../plugin-chart-country-map/src/CountryMap.ts     |   16 +-
 .../plugin-chart-country-map/src/controlPanel.ts   |   43 +
 .../src/countries/afghanistan.geojson              |  Bin 116233 -> 116055 bytes
 .../src/countries/algeria.geojson                  |  Bin 72436 -> 72143 bytes
 .../src/countries/angola.geojson                   |  Bin 91061 -> 90836 bytes
 .../src/countries/antarctica.geojson               |  Bin 249319 -> 245701 bytes
 .../src/countries/argentina.geojson                |  Bin 92396 -> 91982 bytes
 .../src/countries/central_african_republic.geojson |  Bin 76367 -> 76280 bytes
 .../src/countries/chad.geojson                     |  Bin 59200 -> 59068 bytes
 .../src/countries/chile.geojson                    |  Bin 155583 -> 152109 bytes
 .../src/countries/colombia.geojson                 |  Bin 172825 -> 172427 bytes
 .../src/countries/cook_islands.geojson             |  Bin 4932 -> 4793 bytes
 .../democratic_republic_of_the_congo.geojson       |  Bin 60598 -> 60421 bytes
 .../src/countries/ecuador.geojson                  |  Bin 72252 -> 71984 bytes
 .../src/countries/egypt.geojson                    |  Bin 63171 -> 62737 bytes
 .../src/countries/ethiopia.geojson                 |  Bin 74208 -> 74123 bytes
 .../src/countries/fiji.geojson                     |  Bin 16252 -> 14845 bytes
 .../src/countries/finland.geojson                  |  Bin 131137 -> 130221 bytes
 .../src/countries/france.geojson                   |  Bin 293310 -> 292411 bytes
 .../src/countries/france_overseas.geojson          |  Bin 319676 -> 318427 bytes
 .../src/countries/france_regions.geojson           |  Bin 125649 -> 125270 bytes
 .../src/countries/french_polynesia.geojson         |  Bin 23524 -> 21933 bytes
 .../src/countries/greenland.geojson                |  Bin 183222 -> 180051 bytes
 .../src/countries/italy.geojson                    |  Bin 239052 -> 238139 bytes
 .../src/countries/italy_regions.geojson            |  Bin 107344 -> 106568 bytes
 .../src/countries/japan.geojson                    |  Bin 125219 -> 123030 bytes
 .../src/countries/kazakhstan.geojson               |  Bin 97047 -> 96827 bytes
 .../src/countries/kenya.geojson                    |  Bin 160739 -> 155742 bytes
 .../src/countries/libya.geojson                    |  Bin 44004 -> 43958 bytes
 .../src/countries/madagascar.geojson               |  Bin 301722 -> 437184 bytes
 .../src/countries/malawi.geojson                   |  Bin 153706 -> 153706 bytes
 .../src/countries/malaysia.geojson                 |  Bin 61681 -> 61384 bytes
 .../src/countries/mexico.geojson                   |  Bin 155798 -> 153935 bytes
 .../src/countries/mongolia.geojson                 |  Bin 66140 -> 66008 bytes
 .../src/countries/mozambique.geojson               |  Bin 70273 -> 70096 bytes
 .../src/countries/myanmar.geojson                  |  Bin 122123 -> 121555 bytes
 .../src/countries/namibia.geojson                  |  Bin 51744 -> 51566 bytes
 .../src/countries/new_zealand.geojson              |  Bin 51553 -> 50769 bytes
 .../src/countries/niger.geojson                    |  Bin 24447 -> 24404 bytes
 .../src/countries/nigeria.geojson                  |  Bin 132145 -> 131937 bytes
 .../src/countries/norway.geojson                   |  Bin 193186 -> 190978 bytes
 .../src/countries/pakistan.geojson                 |  Bin 71260 -> 71132 bytes
 .../src/countries/papua_new_guinea.geojson         |  Bin 93153 -> 92488 bytes
 .../src/countries/peru.geojson                     |  Bin 121913 -> 121731 bytes
 .../src/countries/philippines.geojson              |  Bin 201029 -> 199021 bytes
 .../src/countries/philippines_regions.geojson      |  Bin 137441 -> 135628 bytes
 .../src/countries/portugal.geojson                 |  Bin 54433 -> 54121 bytes
 .../src/countries/saudi_arabia.geojson             |  Bin 49793 -> 49541 bytes
 .../src/countries/somalia.geojson                  |  Bin 17724 -> 17637 bytes
 .../src/countries/spain.geojson                    |  Bin 197369 -> 196796 bytes
 .../src/countries/sudan.geojson                    |  Bin 50604 -> 50472 bytes
 .../src/countries/sweden.geojson                   |  Bin 122167 -> 121208 bytes
 .../src/countries/tanzania.geojson                 |  Bin 108762 -> 108542 bytes
 .../src/countries/thailand.geojson                 |  Bin 206445 -> 205568 bytes
 .../src/countries/turkey.geojson                   |  Bin 204184 -> 203614 bytes
 .../src/countries/turkey_regions.geojson           |  Bin 107486 -> 107269 bytes
 .../src/countries/turkmenistan.geojson             |  Bin 34959 -> 34870 bytes
 .../src/countries/uk.geojson                       |  Bin 478985 -> 477503 bytes
 .../src/countries/ukraine.geojson                  |  Bin 173452 -> 173064 bytes
 .../united_states_minor_outlying_islands.geojson   |  Bin 3957 -> 3552 bytes
 .../src/countries/usa.geojson                      |  Bin 540974 -> 514889 bytes
 .../src/countries/uzbekistan.geojson               |  Bin 50378 -> 50250 bytes
 .../src/countries/venezuela.geojson                |  Bin 119692 -> 118980 bytes
 .../src/countries/vietnam.geojson                  |  Bin 138908 -> 138005 bytes
 .../plugin-chart-country-map/src/transformProps.ts |    5 +
 .../test/CountryMap.test.tsx                       |  168 +
 .../test/transformProps.test.ts                    |   27 +
 .../plugins/plugin-chart-echarts/package.json      |    2 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |   21 +
 .../src/Funnel/transformProps.ts                   |   15 +-
 .../src/MixedTimeseries/transformProps.ts          |   52 +-
 .../src/Timeseries/transformProps.ts               |   79 +-
 .../test/Funnel/transformProps.test.ts             |   35 +
 .../test/MixedTimeseries/transformProps.test.ts    |  161 +
 .../test/Timeseries/transformProps.test.ts         |  579 +++
 .../plugins/plugin-chart-handlebars/package.json   |    2 +-
 .../plugins/plugin-chart-pivot-table/package.json  |    2 +-
 .../src/react-pivottable/TableRenderers.tsx        |   34 +-
 .../test/react-pivottable/tableRenders.test.tsx    |   39 +
 .../plugin-chart-point-cluster-map/package.json    |   10 +-
 .../src/MapLibre.tsx                               |   15 +-
 .../src/mapLibreDefaults.ts                        |    7 +-
 .../src/transformProps.ts                          |    2 +-
 .../test/MapLibre.test.tsx                         |   33 +
 .../types/global.d.ts}                             |    6 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |  154 +-
 .../src/DataTable/hooks/useSticky.tsx              |   35 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    2 +-
 .../plugins/plugin-chart-table/src/index.ts        |    2 -
 .../plugin-chart-table/src/transformProps.ts       |    2 +-
 .../plugins/plugin-chart-table/src/types.ts        |    2 -
 .../src/utils/DateWithFormatter.ts                 |   62 -
 .../plugin-chart-table/src/utils/formatValue.ts    |    2 +-
 .../test/DataTable/DataTable.test.tsx              |  129 +
 .../test/DataTable/hooks/useSticky.test.tsx        |  205 +
 .../test/DataTable/utils/getScrollBarSize.test.ts  |    6 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |    2 +-
 ...rmatter.test.ts => formatDurationValue.test.ts} |   23 +-
 .../plugins/preset-chart-deckgl/package.json       |    4 +-
 superset-frontend/spec/helpers/setup.ts            |    7 +
 .../ChartContextMenu/ChartContextMenu.test.tsx     |  106 +-
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |   45 +-
 .../Chart/ChartContextMenu/useContextMenu.test.tsx |   25 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |   98 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |   19 +-
 .../SliceHeaderControls.test.tsx                   |  114 +
 .../components/SliceHeaderControls/index.tsx       |   15 +-
 .../components/gridComponents/Chart/Chart.tsx      |   15 +-
 .../TabsRenderer/StickyTabsOffsetContext.ts}       |   33 +-
 .../TabsRenderer/TabsRenderer.test.tsx             |  171 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |  179 +-
 .../gridComponents/TabsRenderer/index.ts           |    1 +
 .../FilterControls.overflow.test.tsx               |  179 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |   79 +-
 .../FilterBar/FiltersDropdownContent/index.tsx     |   21 +-
 .../FiltersConfigForm/DefaultValue.test.tsx        |  118 +
 .../FiltersConfigForm/DefaultValue.tsx             |   25 +-
 .../util/activeAllDashboardFilters.test.ts         |   60 +
 .../dashboard/util/activeAllDashboardFilters.ts    |   13 +-
 .../src/dashboard/util/chartStateConverter.ts      |   12 +-
 .../src/embedded/guestTokenDiagnostics.test.ts     |  101 +
 .../src/embedded/guestTokenDiagnostics.ts          |   71 +
 superset-frontend/src/embedded/index.test.tsx      |  191 +-
 superset-frontend/src/embedded/index.tsx           |   46 +-
 .../DatasourcePanelDragOption.test.tsx             |   17 +
 .../DatasourcePanelDragOption/index.tsx            |   33 +-
 .../DatasourcePanel/DatasourcePanelItem.test.tsx   |   78 +-
 .../DatasourcePanel/DatasourcePanelItem.tsx        |  128 +-
 .../DatasourcePanel/compatibility.test.ts          |   57 +
 .../components/DatasourcePanel/compatibility.ts    |   66 +
 .../components/DatasourcePanel/folderDrag.test.ts  |   88 +
 .../components/DatasourcePanel/folderDrag.ts       |   68 +
 .../src/explore/components/DndItemType.ts          |    3 +
 .../ExploreContainer/ExploreDndContext.test.tsx    |  138 +
 .../ExploreContainer/ExploreDndContext.tsx         |  129 +-
 .../components/ExploreViewContainer/index.tsx      |    6 +-
 .../src/explore/components/SaveModal.test.tsx      |   14 +-
 .../src/explore/components/SaveModal.tsx           |   18 +-
 .../controls/ColumnConfigControl/index.tsx         |    1 -
 .../controls/ColumnConfigControl/types.ts          |    2 -
 .../ConditionalFormattingControl.tsx               |    3 +
 .../FormattingPopover.tsx                          |    2 +
 .../FormattingPopoverContent.test.tsx              |   80 +-
 .../FormattingPopoverContent.tsx                   |   41 +-
 .../controls/ConditionalFormattingControl/types.ts |   10 +
 .../controls/DateFilterControl/DateFilterLabel.tsx |    6 +-
 .../DateFilterControl/components/CustomFrame.tsx   |   18 +-
 .../tests/DateFilterLabel.test.tsx                 |   11 +-
 .../DndColumnMetricSelect.test.tsx                 |  104 +
 .../DndColumnMetricSelect.tsx                      |   34 +-
 .../DndColumnSelect.test.tsx                       |  131 +
 .../DndColumnSelectControl/DndColumnSelect.tsx     |   30 +-
 .../DndMetricSelect.test.tsx                       |  192 +
 .../DndColumnSelectControl/DndMetricSelect.tsx     |  108 +-
 .../DndColumnSelectControl/DndSelectLabel.test.tsx |  114 +
 .../DndColumnSelectControl/DndSelectLabel.tsx      |   53 +-
 .../createAdhocMetricFromColumn.test.ts}           |   48 +-
 .../DndColumnSelectControl/dndTestUtils.ts         |   18 +
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |  200 +-
 .../index.tsx                                      |   81 +-
 .../VizTypeControl/VizTypeControl.test.tsx         |   46 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |    2 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |   51 +-
 .../useExploreAdditionalActionsMenu.test.tsx       |   33 +
 .../controlUtils/standardizedFormData.test.ts      |    1 +
 .../explore/controlUtils/standardizedFormData.ts   |    1 +
 .../src/features/reports/ReportModal/index.tsx     |    4 +
 .../src/hooks/apiResources/datasets.test.ts        |  170 +-
 .../src/hooks/apiResources/datasets.ts             |   70 +-
 superset-frontend/src/hooks/usePermissions.ts      |    1 +
 .../src/pages/ChartCreation/ChartCreation.test.tsx |   14 +
 .../src/pages/ChartCreation/index.tsx              |    7 +
 .../DatasetList/DatasetList.integration.test.tsx   |  197 +
 .../DatasetList/DatasetList.listview.test.tsx      |    6 +
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |   14 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |  338 +-
 superset-frontend/src/types/bootstrapTypes.ts      |    5 +-
 .../src/utils/downloadAsPivotExcel.test.ts         |   38 +
 .../src/utils/downloadAsPivotExcel.ts              |   16 +
 superset-frontend/webpack.config.js                |   18 +-
 superset-websocket/package-lock.json               |  808 ++--
 superset-websocket/package.json                    |    9 +-
 superset/app.py                                    |   13 +-
 superset/charts/data/api.py                        |    2 +
 superset/charts/schemas.py                         |   26 +-
 superset/cli/examples.py                           |   19 +-
 superset/cli/viz_migrations.py                     |    3 +
 superset/commands/chart/create.py                  |    8 +
 superset/commands/chart/importers/v1/__init__.py   |    6 +-
 superset/commands/chart/update.py                  |   47 +-
 superset/commands/chart/utils.py                   |   71 +
 .../commands/dashboard/importers/v1/__init__.py    |    6 +-
 superset/commands/dashboard/importers/v1/utils.py  |   22 +-
 superset/commands/dashboard/update.py              |   76 +-
 superset/commands/database/exceptions.py           |   29 +
 superset/commands/database/importers/v1/utils.py   |   91 +-
 superset/commands/database/test_connection.py      |   41 +-
 superset/commands/database/update.py               |   87 +
 superset/commands/database/uploaders/base.py       |   24 +-
 superset/commands/database/utils.py                |  123 +-
 superset/commands/database/validate.py             |   47 +-
 superset/commands/dataset/importers/v1/utils.py    |  128 +-
 superset/commands/datasource/list.py               |  112 +-
 superset/commands/explore/get.py                   |   50 +-
 superset/commands/importers/v1/assets.py           |    6 +-
 superset/commands/importers/v1/examples.py         |    8 +
 superset/commands/importers/v1/utils.py            |   54 +
 superset/commands/report/chart_data.py             |  194 +
 superset/commands/report/execute.py                |   91 +-
 superset/commands/semantic_layer/create.py         |    5 +
 superset/commands/semantic_layer/delete.py         |    5 +
 superset/commands/semantic_layer/update.py         |    5 +
 superset/commands/sql_lab/estimate.py              |   24 +-
 superset/commands/sql_lab/export.py                |   10 +
 superset/commands/version_restore.py               |   18 +-
 superset/common/query_actions.py                   |   78 +-
 superset/common/query_object.py                    |   55 +-
 superset/config.py                                 |   12 +-
 superset/constants.py                              |    7 +
 superset/daos/database.py                          |   17 +-
 superset/daos/dataset.py                           |   15 +-
 superset/daos/datasource.py                        |    4 +
 superset/daos/query.py                             |    7 +
 superset/daos/report.py                            |   12 +-
 superset/databases/schemas.py                      |    7 +-
 superset/datasets/api.py                           |   86 +-
 superset/datasets/schemas.py                       |   65 +-
 superset/db_engine_specs/__init__.py               |   15 +
 superset/db_engine_specs/clickhouse.py             |   11 +-
 superset/db_engine_specs/cockroachdb.py            |    5 +-
 superset/db_engine_specs/couchbase.py              |    2 -
 superset/db_engine_specs/postgres.py               |   17 +-
 superset/embedded/view.py                          |    7 +-
 .../data/cleaned_sales_data.parquet                |  Bin 91814 -> 0 bytes
 .../datasets/cleaned_sales_data.yaml               |  348 --
 superset/examples/generic_loader.py                |   13 +-
 .../misc_charts/data/wb_health_population.parquet  |  Bin 15010872 -> 0 bytes
 .../misc_charts/datasets/wb_health_population.yaml | 4319 --------------------
 superset/explore/utils.py                          |    7 +-
 superset/extensions/metastore_cache.py             |    3 +-
 superset/key_value/utils.py                        |    6 +-
 superset/mcp_service/app.py                        |    2 +
 superset/mcp_service/chart/chart_helpers.py        |   77 +
 superset/mcp_service/chart/chart_utils.py          |  317 ++
 superset/mcp_service/chart/compile.py              |  105 +-
 superset/mcp_service/chart/plugins/__init__.py     |    6 +
 superset/mcp_service/chart/plugins/gauge.py        |  195 +
 .../chart/plugins/{pie.py => treemap.py}           |   76 +-
 superset/mcp_service/chart/preview_utils.py        |  537 ++-
 superset/mcp_service/chart/query_result.py         |  225 +
 .../mcp_service/chart/resources/chart_configs.py   |   24 +
 superset/mcp_service/chart/schemas.py              |  420 +-
 superset/mcp_service/chart/tool/generate_chart.py  |   16 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |  116 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |   34 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |  101 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |   19 +-
 .../chart/tool/get_chart_type_schema.py            |   24 +-
 superset/mcp_service/chart/tool/update_chart.py    |  257 +-
 .../mcp_service/chart/tool/update_chart_preview.py |   92 +-
 .../chart/validation/dataset_validator.py          |  208 +-
 .../chart/validation/schema_validator.py           |   11 +
 superset/mcp_service/dataset/schemas.py            |   21 +
 superset/mcp_service/dataset/tool/query_dataset.py |   41 +
 .../explore/tool/generate_explore_link.py          |    2 +-
 superset/mcp_service/semantic_layer/schemas.py     |   22 +
 .../mcp_service/semantic_layer/tool/get_table.py   |    8 +
 superset/mcp_service/sql_lab/tool/execute_sql.py   |  101 +-
 superset/migrations/shared/migrate_viz/base.py     |  120 +-
 .../migrations/shared/migrate_viz/processors.py    |  315 ++
 .../shared/migrate_viz/query_functions.py          |   11 +-
 superset/models/helpers.py                         |   43 +-
 superset/security/api.py                           |   24 +-
 superset/security/guest_token.py                   |   19 +
 superset/security/manager.py                       |   68 +
 superset/semantic_layers/api.py                    |    1 -
 superset/sql/execution/executor.py                 |   14 +-
 superset/sql/parse.py                              |  119 +-
 superset/sql_lab.py                                |  182 +-
 superset/tags/models.py                            |   31 +
 superset/tasks/scheduler.py                        |   16 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |  240 +-
 superset/utils/cache.py                            |    2 +-
 superset/utils/cache_manager.py                    |    4 -
 superset/utils/csv.py                              |    9 +-
 superset/utils/pandas_postprocessing/resample.py   |  215 +-
 superset/utils/rison_filters.py                    |    6 +-
 superset/utils/screenshot_utils.py                 |  464 ++-
 superset/utils/webdriver.py                        |  278 +-
 superset/versioning/activity/impact.py             |  152 +-
 superset/versioning/activity/queries.py            |   95 +-
 superset/versioning/activity/scope.py              |    2 +-
 superset/versioning/activity/windows.py            |   66 +
 superset/versioning/membership.py                  |   86 +
 superset/versioning/restore.py                     |   50 +-
 superset/views/sql_lab/views.py                    |   65 +-
 tests/integration_tests/base_tests.py              |   19 +
 tests/integration_tests/charts/api_tests.py        |    8 +-
 tests/integration_tests/charts/commands_tests.py   |   14 +-
 tests/integration_tests/charts/data/api_tests.py   |    9 +
 .../charts/version_restore_tests.py                |   42 +
 tests/integration_tests/dashboard_tests.py         |    3 +-
 .../integration_tests/dashboards/commands_tests.py |    3 +
 .../dashboards/security/security_dataset_tests.py  |    5 +-
 .../dashboards/version_restore_tests.py            |   70 +
 tests/integration_tests/databases/api_tests.py     |   11 +-
 tests/integration_tests/datasets/api_tests.py      |  194 +-
 tests/integration_tests/datasource/api_tests.py    |   62 +
 tests/integration_tests/embedded/test_view.py      |   17 +-
 .../explore/form_data/commands_tests.py            |  186 +-
 tests/integration_tests/fixtures/tags.py           |   21 +-
 tests/integration_tests/reports/commands_tests.py  |  109 +-
 tests/integration_tests/sql_lab/commands_tests.py  |   16 +
 tests/integration_tests/tags/api_tests.py          |    8 +-
 {scripts => tests/testcontainers}/__init__.py      |    0
 .../testcontainers/db_engine_specs}/__init__.py    |    0
 tests/testcontainers/db_engine_specs/_driver.py    |   47 +
 .../testcontainers/db_engine_specs/_pagination.py  |   68 +
 .../db_engine_specs/test_clickhouse.py             |  130 +
 .../db_engine_specs/test_cockroachdb.py            |   97 +
 tests/testcontainers/db_engine_specs/test_crate.py |  103 +
 .../db_engine_specs/test_databend.py               |  114 +
 tests/testcontainers/db_engine_specs/test_db2.py   |   95 +
 .../db_engine_specs/test_elasticsearch.py          |  107 +
 .../db_engine_specs/test_firebird.py               |  146 +
 .../testcontainers/db_engine_specs/test_mariadb.py |  117 +
 .../testcontainers/db_engine_specs/test_monetdb.py |  127 +
 .../testcontainers/db_engine_specs/test_mongodb.py |  141 +
 tests/testcontainers/db_engine_specs/test_mssql.py |   93 +
 tests/testcontainers/db_engine_specs/test_mysql.py |  117 +
 .../db_engine_specs/test_oceanbase.py              |  221 +
 .../testcontainers/db_engine_specs/test_oracle.py  |   95 +
 .../db_engine_specs/test_postgres.py               |   99 +
 .../db_engine_specs/test_risingwave.py             |  127 +
 .../db_engine_specs/test_starrocks.py              |  156 +
 .../db_engine_specs/test_timescaledb.py            |   98 +
 tests/testcontainers/db_engine_specs/test_trino.py |  104 +
 tests/testcontainers/db_engine_specs/test_ydb.py   |  148 +
 .../db_engine_specs/test_yugabytedb.py             |  119 +
 .../charts/commands/data/test_get_data_command.py  |   15 +-
 tests/unit_tests/charts/test_chart_data_api.py     |   20 +
 tests/unit_tests/charts/test_schemas.py            |   85 +-
 tests/unit_tests/commands/chart/create_test.py     |   87 +-
 tests/unit_tests/commands/dashboard/update_test.py |  132 +-
 .../databases/importers/v1/command_test.py         |   52 +
 .../commands/databases/test_connection_test.py     |   60 +
 tests/unit_tests/commands/databases/update_test.py |  297 ++
 .../commands/databases/upload_command_test.py      |   61 +
 .../unit_tests/commands/databases/validate_test.py |  205 +
 tests/unit_tests/commands/datasource/list_test.py  |  224 +
 .../explore/test_get_query_authorship_bypass.py    |   93 +
 .../commands/importers/v1/assets_test.py           |    3 +
 .../commands/importers/v1/examples_test.py         |   65 +
 .../importers/v1/test_find_existing_for_import.py  |  134 +-
 tests/unit_tests/commands/report/base_test.py      |   20 +-
 .../unit_tests/commands/report/chart_data_test.py  |  298 ++
 tests/unit_tests/commands/report/execute_test.py   |  185 +-
 .../commands/semantic_layer/create_test.py         |   24 +
 .../commands/semantic_layer/delete_test.py         |   14 +
 .../commands/semantic_layer/update_test.py         |   14 +
 tests/unit_tests/commands/sql_lab/test_estimate.py |  134 +-
 .../commands/test_base_restore_version_command.py  |   99 +
 tests/unit_tests/common/test_query_actions.py      |   97 +
 .../common/test_query_context_processor.py         |   25 +-
 tests/unit_tests/conftest.py                       |   32 +
 tests/unit_tests/connectors/sqla/models_test.py    |   48 +
 tests/unit_tests/dao/datasource_test.py            |   31 +
 tests/unit_tests/dao/queries_test.py               |   15 +
 tests/unit_tests/dao/test_query_stop_race.py       | 1217 ++++++
 .../commands/importers/v1/import_test.py           |   54 +
 .../databases/commands/importers/v1/import_test.py |  205 +
 tests/unit_tests/databases/commands/utils_test.py  |  128 +-
 tests/unit_tests/databases/schema_tests.py         |   19 +
 .../datasets/commands/importers/v1/import_test.py  |  425 ++
 tests/unit_tests/datasets/schema_tests.py          |  115 +
 tests/unit_tests/db_engine_specs/test_init.py      |   50 +
 tests/unit_tests/db_engine_specs/test_postgres.py  |   34 +
 tests/unit_tests/explore/utils_test.py             |  117 +
 tests/unit_tests/initialization_test.py            |    9 +-
 tests/unit_tests/key_value/utils_test.py           |   12 +-
 tests/unit_tests/mcp_service/chart/test_compile.py |  109 +
 .../mcp_service/chart/test_gauge_chart.py          | 1181 ++++++
 .../mcp_service/chart/test_gauge_render.py         |  106 +
 .../mcp_service/chart/test_preview_utils.py        |   71 +
 .../mcp_service/chart/test_treemap_chart.py        |  176 +
 .../mcp_service/chart/tool/test_generate_chart.py  |   86 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |  320 +-
 .../mcp_service/chart/tool/test_get_chart_info.py  |  167 +
 .../chart/tool/test_get_chart_preview.py           |  283 ++
 .../mcp_service/chart/tool/test_get_chart_sql.py   |  102 +
 .../chart/tool/test_get_chart_type_schema.py       |   29 +
 .../mcp_service/chart/tool/test_update_chart.py    |  504 ++-
 .../chart/tool/test_update_chart_preview.py        |  135 +-
 tests/unit_tests/mcp_service/conftest.py           |   27 +
 .../mcp_service/dataset/tool/test_query_dataset.py |  340 ++
 .../explore/tool/test_generate_explore_link.py     |  123 +-
 .../semantic_layer/tool/test_get_table.py          |   60 +
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |  186 +-
 .../unit_tests/migrations/viz/table_v1_v2_test.py  |  427 ++
 tests/unit_tests/models/helpers_test.py            |   74 +
 .../models/test_virtual_dataset_format.py          |   25 +
 .../pandas_postprocessing/test_resample.py         |  282 ++
 tests/unit_tests/queries/query_object_test.py      |  147 +
 tests/unit_tests/scripts/change_detector_test.py   |   12 +
 .../unit_tests/security/guest_token_audit_test.py  |   87 +
 tests/unit_tests/semantic_layers/api_test.py       |   24 +-
 tests/unit_tests/sql/execution/test_executor.py    |   41 +
 tests/unit_tests/sql/parse_tests.py                |  320 +-
 tests/unit_tests/sql_lab_test.py                   |    5 +
 tests/unit_tests/tags/commands/create_test.py      |   19 +-
 tests/unit_tests/tags/commands/update_test.py      |   10 +-
 .../tasks/test_scheduler_soft_timeout.py           |   44 +-
 .../test_clock_reading_driver_preload.py           |   57 +
 tests/unit_tests/utils/csv_tests.py                |   27 +-
 tests/unit_tests/utils/test_cache_manager.py       |    6 +-
 tests/unit_tests/utils/test_rison_filters.py       |   25 +
 tests/unit_tests/utils/test_screenshot_utils.py    |  454 +-
 tests/unit_tests/utils/webdriver_test.py           |  454 +-
 tests/unit_tests/versioning/test_activity.py       |  149 +-
 .../views/test_sql_lab_tab_state_views.py          |  203 +-
 584 files changed, 34278 insertions(+), 10353 deletions(-)
 delete mode 100644 .github/actions/change-detector/label-draft-pr.yml
 create mode 100644 .github/workflows/asf-allowlist-check.yml
 create mode 100644 .github/workflows/testcontainers.yml
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/PageHeaderWithActions/PageHeaderWithActions.stories.tsx
 rename superset-frontend/{plugins/plugin-chart-ag-grid-table/src/utils => packages/superset-ui-core/src/time-format}/DateWithFormatter.ts (69%)
 copy superset-frontend/{plugins/plugin-chart-table/test/utils => packages/superset-ui-core/test/time-format}/DateWithFormatter.test.ts (65%)
 copy superset-frontend/{playwright/components/modals/SaveDatasetModal.ts => plugins/plugin-chart-ag-grid-table/src/utils/getScrollBarSize.ts} (52%)
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/getTimeRangeFromGranularity.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/drillToDetail.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/formatValue.test.ts
 rename superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/{DateWithFormatter.test.ts => formatDurationValue.test.ts} (63%)
 copy docs/src/components/ui-components/index.ts => superset-frontend/plugins/plugin-chart-point-cluster-map/src/mapLibreDefaults.ts (73%)
 copy superset-frontend/{src/globals.d.ts => plugins/plugin-chart-point-cluster-map/types/global.d.ts} (78%)
 delete mode 100644 superset-frontend/plugins/plugin-chart-table/src/utils/DateWithFormatter.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/DataTable/DataTable.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/DataTable/hooks/useSticky.test.tsx
 rename superset-frontend/plugins/plugin-chart-table/test/utils/{DateWithFormatter.test.ts => formatDurationValue.test.ts} (63%)
 copy superset-frontend/{packages/superset-ui-core/src/utils/withLabel.ts => src/dashboard/components/gridComponents/TabsRenderer/StickyTabsOffsetContext.ts} (51%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/DefaultValue.test.tsx
 create mode 100644 superset-frontend/src/embedded/guestTokenDiagnostics.test.ts
 create mode 100644 superset-frontend/src/embedded/guestTokenDiagnostics.ts
 create mode 100644 superset-frontend/src/explore/components/DatasourcePanel/compatibility.test.ts
 create mode 100644 superset-frontend/src/explore/components/DatasourcePanel/compatibility.ts
 create mode 100644 superset-frontend/src/explore/components/DatasourcePanel/folderDrag.test.ts
 create mode 100644 superset-frontend/src/explore/components/DatasourcePanel/folderDrag.ts
 copy superset-frontend/src/{dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/constants.ts => explore/components/controls/DndColumnSelectControl/createAdhocMetricFromColumn.test.ts} (50%)
 create mode 100644 superset/commands/chart/utils.py
 create mode 100644 superset/commands/report/chart_data.py
 delete mode 100644 superset/examples/featured_charts/data/cleaned_sales_data.parquet
 delete mode 100644 superset/examples/featured_charts/datasets/cleaned_sales_data.yaml
 delete mode 100644 superset/examples/misc_charts/data/wb_health_population.parquet
 delete mode 100644 superset/examples/misc_charts/datasets/wb_health_population.yaml
 create mode 100644 superset/mcp_service/chart/plugins/gauge.py
 copy superset/mcp_service/chart/plugins/{pie.py => treemap.py} (62%)
 create mode 100644 superset/mcp_service/chart/query_result.py
 create mode 100644 superset/versioning/membership.py
 copy {scripts => tests/testcontainers}/__init__.py (100%)
 copy {scripts => tests/testcontainers/db_engine_specs}/__init__.py (100%)
 create mode 100644 tests/testcontainers/db_engine_specs/_driver.py
 create mode 100644 tests/testcontainers/db_engine_specs/_pagination.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_clickhouse.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_cockroachdb.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_crate.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_databend.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_db2.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_elasticsearch.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_firebird.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_mariadb.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_monetdb.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_mongodb.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_mssql.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_mysql.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_oceanbase.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_oracle.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_postgres.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_risingwave.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_starrocks.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_timescaledb.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_trino.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_ydb.py
 create mode 100644 tests/testcontainers/db_engine_specs/test_yugabytedb.py
 create mode 100644 tests/unit_tests/commands/explore/test_get_query_authorship_bypass.py
 create mode 100644 tests/unit_tests/commands/report/chart_data_test.py
 create mode 100644 tests/unit_tests/commands/test_base_restore_version_command.py
 create mode 100644 tests/unit_tests/dao/test_query_stop_race.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_gauge_chart.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_gauge_render.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_treemap_chart.py
 create mode 100644 tests/unit_tests/migrations/viz/table_v1_v2_test.py
 create mode 100644 tests/unit_tests/test_clock_reading_driver_preload.py