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