You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by hu...@apache.org on 2026/07/08 15:16:02 UTC

(superset) branch hughhhh/dashboard-export-spec-review updated (767db18b5e4 -> 5616a867ceb)

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

hughhhh pushed a change to branch hughhhh/dashboard-export-spec-review
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 767db18b5e4 style(dashboard): satisfy auto-walrus and ruff-format on export email
     add 6bdcb7a83a1 feat(i18n): backfill Czech (cs) translations (AI-generated, needs review) (#41647)
     add 661d362580d feat(i18n): backfill new safe-link strings in de/lv/fi (AI-generated, needs review) (#41646)
     add 706ff94f0bf feat(i18n): backfill Slovak (sk) translations (AI-generated, needs review) (#41640)
     add d57d69d3a68 feat(i18n): backfill Ukrainian (uk) translations (AI-generated, needs review) (#41645)
     add 748060d35e7 feat(i18n): backfill Thai (th) translations (AI-generated, needs review) (#41641)
     add e3bd6e5c70c chore(deps-dev): bump @playwright/test from 1.61.0 to 1.61.1 in /superset-frontend (#41616)
     add d507be2555f chore(deps): bump geostyler-openlayers-parser from 5.7.0 to 5.7.1 in /superset-frontend (#41615)
     add c3f5e997a16 feat(mcp): chart type plugin registry for extensible generate_chart (#39922)
     add b2af954e7b8 chore(deps-dev): bump @types/node from 26.0.0 to 26.0.1 in /superset-frontend (#41675)
     add 246bbeb4089 chore(deps): bump google-auth-library from 10.7.0 to 10.9.0 in /superset-frontend (#41672)
     add a919dda2ac3 fix(sqllab): filter results table when typing in the search box (#41625)
     add 8343a4fff80 chore(deps-dev): bump @types/node from 26.0.0 to 26.0.1 in /superset-websocket (#41666)
     add a48ca9ce723 fix(sqllab): reject blank saved query and dataset names (#41624)
     add 0a25faabbd6 fix(dashboard): align chart menu button hover state (#41683)
     add 8210904e958 chore(deps): bump nanoid from 5.1.15 to 5.1.16 in /superset-frontend (#41673)
     add 80344852b72 chore(deps): bump docusaurus-plugin-openapi-docs from 5.0.2 to 5.1.0 in /docs (#41671)
     add 2992d7b4c87 feat(database): add databricks oauth support (#41421)
     add be46d65e3b4 fix(dao): SQL-faithful NULL and non-string handling in LIKE-family operators (#41653)
     add afebdd58d16 chore(deps): bump docusaurus-theme-openapi-docs from 5.0.2 to 5.1.0 in /docs (#41669)
     add 6309d08d59f feat(helm): standardize to Kubernetes recommended labels (app.kubernetes.io/*) (#39350)
     add d7e2f18d005 fix(dockerfile): allow GH auth-less fetch of `uv` when building Superset image locally (#41682)
     add 7214e9f9f60 build(dev-deps): upgrade Storybook to v10 in docs subproject (#41679)
     add c1bd45f5618 fix(ci): allow showtime to check out fork PR code under checkout v7 (#41643)
     add e3b2992d6e1 chore(deps): update lodash-es requirement from ^4.17.21 to ^4.18.1 in /superset-frontend/packages/superset-ui-core (#41565)
     add be29d877d2f chore(deps-dev): bump @storybook/addon-docs from 10.4.5 to 10.4.6 in /superset-frontend (#41375)
     add 9769380d6dc feat(i18n): backfill Polish (pl) translations (AI-generated, needs review) (#41660)
     add 6c2c814b5c0 fix(dashboard): not filterable column now not emitting cross-filters in table charts (#30827)
     add aa40934e7f3 fix(i18n): compile fuzzy translations into the backend .mo files (#41648)
     add 4c193d4dbce feat(i18n): wrap description strings in translation function (#41626)
     add 139df20cde6 fix(i18n): update German security menu translations (#41587)
     add 19e94855a1f fix(explore): prevent Results FilterInput from stealing focus during remount (#41100)
     add 8bf3933972f fix(dashboard): show a not-found state for a deleted dashboard (#41686)
     add 1c74185a71f chore(ci): correct codeql-action version comment to match pinned SHA (#41695)
     add f9bcf189c9f chore(ci): suppress zizmor adhoc-packages on GHA validator install (#41694)
     add 83965b4be87 chore(ci): correct codeql-action version pin comment to v4.36.2 (#41693)
     add 358493a2c50 feat(i18n): backfill Brazilian Portuguese (pt_BR) translations (AI-generated, needs review) (#41659)
     add 9e087702918 feat(i18n): backfill Slovenian (sl) translations (AI-generated, needs review) (#41658)
     add 7eb93c60a3e feat(i18n): backfill Catalan (ca) translations (AI-generated, needs review) (#41657)
     add f61d6d8b84a feat(i18n): backfill Māori (mi) translations (AI-generated, needs review) (#41656)
     add 03703843b7d feat(i18n): backfill French (fr) translations (AI-generated, needs review) (#41655)
     add 66bf81b997a feat(i18n): backfill Russian (ru) translations (AI-generated, needs review) (#41649)
     add 22c3f56d0a7 fix(redshift): suppress unavoidable pkg_resources deprecation warning (#41691)
     add a30846881b8 test(ci): stabilize master checks (#41650)
     add ab0e77c1cb7 fix(embedded): allow guest users to sort by visible columns (#37371)
     add 5bbab86a07a fix(schemas): rename deprecated query fields regardless of falsy values (#41263)
     add d8832c382d4 fix(views): emit deprecated-endpoint log warning once per endpoint per process (#41286)
     add a151edeff31 feat(i18n): backfill Dutch (nl) translations (AI-generated, needs review) (#41704)
     add bdc610c5720 fix(db): use a private engine for prequery connections to avoid listener race (#41642)
     add 55088e10da0 feat(database-modal): add validation loading state and duplicate name check (#36880)
     add 49fcaf24205 feat(i18n): backfill Turkish (tr) translations (AI-generated, needs review) (#41702)
     add 47bc3e2dc1c fix: correct Security menu case for MySQL deployments (#40527)
     add ceadce234b9 chore(deps-dev): bump @storybook/react-webpack5 from 10.4.4 to 10.4.6 in /superset-frontend (#41371)
     add 7cbdc726e33 chore(deps-dev): bump @storybook/addon-links from 10.4.4 to 10.4.6 in /superset-frontend (#41366)
     add 6d22697cba9 feat(theming): make core components fully configurable via theme tokens (#40985)
     add 46a153d17e1 feat(i18n): backfill Persian (Farsi) (fa) translations (AI-generated, needs review) (#41701)
     add 4f37e955b54 fix(plugin-chart-echarts): prevent trendline stroke clipping at chart edges (#37918)
     add 0e6c5838e48 fix(deck.gl): apply categorical scatterplot colors in Multiple Layers chart (#41490)
     add eaf6daa7eb5 chore(deps-dev): bump webpack from 5.107.2 to 5.108.0 in /docs (#41734)
     add d93098f8530 chore(deps-dev): bump baseline-browser-mapping from 2.10.38 to 2.10.40 in /superset-frontend (#41737)
     add 2b30605e3c5 chore(deps): bump baseline-browser-mapping from 2.10.38 to 2.10.40 in /docs (#41736)
     add 9f8ff1e87f4 chore(deps): bump @deck.gl/mapbox from 9.3.4 to 9.3.5 in /superset-frontend (#41735)
     add 114c2581453 chore(deps-dev): bump webpack from 5.107.2 to 5.108.0 in /superset-frontend (#41733)
     add 0b14f1c2264 fix(a11y): use aria-label instead of non-functional alt prop on filter icons (#41742)
     add 2702113d99b fix(a11y): add aria-label to VizTypeGallery search clear icon (#41681)
     add d443dd17b97 feat(i18n): backfill Korean (ko) translations (AI-generated, needs review) (#41713)
     add b6f8267ed2b feat(i18n): backfill Italian (it) translations (AI-generated, needs review) (#41712)
     add e7b825e26b5 feat(i18n): backfill Portuguese (pt) translations (AI-generated, needs review) (#41710)
     add 7d90684f939 feat(i18n): backfill Chinese (Traditional) (zh_TW) translations (AI-generated, needs review) (#41709)
     add 6d7344750f3 feat(i18n): backfill Chinese (Simplified) (zh) translations (AI-generated, needs review) (#41708)
     add ceeba013057 fix(i18n): correct mistranslated entries flagged in review (pl/pt_BR/sl/sk/fi) (#41707)
     add 4e2160079ad feat(i18n): backfill Arabic (ar) translations (AI-generated, needs review) (#41705)
     add 59d35d16ce3 feat(i18n): adopt French translation improvements from #41688 (#41752)
     add d7ad7fbb49c fix(i18n): repair dropped placeholders and reduced-plural forms across catalogs (#41722)
     add 681275077b3 fix(semantic layers): time comparison with 1 row (#41554)
     add b23cef136e5 fix(i18n): un-translate do-not-translate tokens in es/fi/th catalogs (#41652)
     add fd1f313b307 chore(deps): bump flask-appbuilder from 5.2.1 to 5.2.2 (#41766)
     add 81a437826f8 chore(deps-dev): update kylinpy requirement from <2.9,>=2.8.1 to >=2.8.4,<2.9 (#41765)
     add 71ac6c64e23 chore(deps): bump rison from 2.0.0 to 2.0.1 (#41762)
     add c3fe0a40ebc chore(deps-dev): bump mysqlclient from 2.2.6 to 2.2.8 (#41760)
     add 43f28162406 chore(deps-dev): update ydb-sqlglot-plugin requirement from >=0.2.5 to >=0.2.8 (#41764)
     add 210389478ba fix(test): change regex for RTL to retrieve button used for filter removal (#41767)
     add a9aabdaedfc chore(deps): bump gunicorn from 25.3.0 to 26.0.0 (#41761)
     add 004c401c973 refactor(dashboard): rename supersetCanCSV to supersetCanDownload (#24290) (#39118)
     add 3e152d9bb7a fix(views): add new_target to deprecated explore_json_data endpoint (#41771)
     add 1e50316bccd chore(reports): deprecate Slack v1 and harden Slack v2 tests (#39914)
     add e08c2c12dad fix(native-filters): persist created/pasted default values in select filter (#40984)
     add 8fcc0f8b482 fix(semantic layers): start/end ranges (#41590)
     add 687fafd424b build(dev-deps): replace deprecated minimizer deps with recommendation from Webpack doc (#41756)
     add 3ac19470ec2 fix(embedded): register AG Grid modules for view-as-table modal (#41632)
     add d91c5cf09b6 fix(dashboard): prevent dashboard crash when applying grain filters (#41700) (#41746)
     add a687e87b2cd fix(dashboard): use theme colorBorder token for chart tile borders (#41731)
     add dc739e4fb96 fix(ui): standardize card kebab menu behavior (#41741)
     add ea40b87e2fd fix(drill-detail): drill to detail by a null value dimension should use NULL_STRING (#41678)
     add 8229c0183dc perf(explore): reuse chart query data in Results tab (#38165)
     add 3303d4e09ef chore(deps): bump lodash-es to ^4.18.1 across all frontend workspaces (#41774)
     add 9a24d42d655 fix(chart): Fix heatmap charts when filtering down to one row/colum (#40738)
     add 7cdfe3ffe7d fix(a11y): add aria-label to CRON schedule input (#41769)
     add a8ab5f973dc chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.61.1 to 8.62.0 in /superset-frontend (#41577)
     add 83826839a0a fix(i18n): inject language pack into bootstrap to translate code-split chunks (#39357)
     add 1575b83f96a chore(deps): bump react-arborist from 3.10.5 to 3.12.0 in /superset-frontend (#41793)
     add d6b31376a51 chore(deps-dev): bump prettier from 3.8.4 to 3.9.1 in /docs (#41789)
     add beff76cb4d4 chore(deps): bump antd from 6.4.5 to 6.5.0 in /docs (#41788)
     add fd8d7009a5b chore(mcp): drop legacy /superset prefix from dashboard URLs (#41758)
     add b4218136bec feat(ag-grid): support Show summary in raw records mode (#41754)
     add a7a051777c2 feat(charts): soft-delete and restore (#40129)
     add 2f11240339c chore(deps): bump query-string from 9.4.0 to 9.4.1 in /superset-frontend (#41782)
     add f4cc871f8cd chore(deps): bump js-yaml from 5.1.0 to 5.2.0 in /docs (#41783)
     add 69f052985f7 chore(deps-dev): bump prettier from 3.8.4 to 3.9.3 in /superset-frontend (#41784)
     add c49d01223c7 chore(deps-dev): bump webpack from 5.108.0 to 5.108.2 in /docs (#41786)
     add dc671ae44ac chore(deps-dev): bump eslint from 10.5.0 to 10.6.0 in /superset-frontend (#41792)
     add 06f421ed4af fix(a11y): add aria-label to remove-sheet icon button in Google Sheets catalog (#41796)
     add 83d93b8b425 fix(view-query): Add ownState parameter to ViewQueryModal for query consistency (#35208)
     add ad8e6d41402 build(deps): upgrade `react-markdown`  to v9 and `remark-gfm` to v4 (#41778)
     add 689b4f623e4 docs(admin/config): resolve misconfigured aws-iam Markdown file (#41748)
     add 21b4185819e fix(ace-editor): caret drift from late font loads and emoji widths (#41697)
     add 51e708da6bb fix(mcp): accept Superset vocabulary in chart configs and clarify query_dataset metric errors (#40972)
     add 69ce27f1731 feat(sec): resolve all vuln alerts in `superset-embedded-sdk`, `superset-frontend` and `docs` (#41776)
     add fb496e158a2 fix(ag-grid): persist "None" value aggregation selection (#41386)
     add 44c1ad5c714 fix: delint frontend files (#41802)
     add c0b0a2fdaf5 feat(tags): add favorites filter to Tags list view (#41461)
     add 033b7bc385e fix(databases): update broken database documentation links to /user-docs namespace (#41557)
     add 9e50d9eca67 fix: Italian translation (#36114)
     add ee524b34713 fix(dashboard): let CSV exports use query cache instead of always force-querying (#41469)
     add 2aa43f6f0f5 fix(sql): stop sanitize_clause from rewriting user SQL semantics (#36113) (#41125)
     add 85eaf15c5e0 test(databases): stabilize flaky SQLAlchemy-form visibility assertion (#41823)
     add 101c1e88275 fix(ace-editor): carry token classes onto emoji boxes (#41821)
     add 4b78758fd22 chore(deps-dev): bump typescript-eslint from 8.62.0 to 8.62.1 in /superset-websocket (#41815)
     add 847bdad9600 chore(deps-dev): bump @typescript-eslint/parser from 8.62.0 to 8.62.1 in /superset-frontend (#41820)
     add 2b74e140f37 chore(deps-dev): update sqlalchemy-parseable requirement from <0.2.0,>=0.1.3 to >=0.1.6,<0.2.0 (#41814)
     add 87fa7e5e640 chore(deps-dev): bump prettier from 3.9.1 to 3.9.3 in /superset-websocket (#41810)
     add e52240b9a60 test(datasets): prove column metadata persists for zero-row queries (#41838)
     add a8a1b220fdc chore(deps): update @ant-design/icons requirement from ^6.2.5 to ^6.3.2 in /superset-frontend/packages/superset-ui-core (#41790)
     add 1c3b070d342 feat(i18n): do-not-translate registry + '#. do-not-translate' marker standard (#41651)
     add c846da8dfb2 fix(frontend): resolve image download formatting and cleanup issues (#38927)
     add de5a233ccf9 fix(sqllab): preserve saved query description when editing (#41685)
     add ec4e5deb014 feat(theming): add opt-in SQL Lab grid tokens and fix modal border-radius clipping (#41031)
     add 5e384f54d3a fix(ag-grid): select cell on click instead of its text (#41392)
     add 4167a21f7d4 fix(semantic layers): guards for zero rows (#41600)
     add 4dc45aa9586 fix(semantic layers): apply post-processing (#41601)
     add ffd09829423 fix(ag-grid): keep basic conditional formatting aligned after sort (#41390)
     add 5e16c4eaaf6 chore(deps-dev): bump oxlint from 1.71.0 to 1.72.0 in /superset-frontend (#41848)
     add 7bdde4a36af chore(deps-dev): bump prettier from 3.9.3 to 3.9.4 in /superset-frontend (#41846)
     add aa330422f19 chore(deps-dev): bump prettier from 3.9.3 to 3.9.4 in /superset-websocket (#41844)
     add 3a514dc8eb0 chore(deps-dev): update sqlalchemy-singlestoredb requirement from <2,>=1.1.1 to >=1.2.1,<2 (#41809)
     add 0dcb09b1638 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.62.0 to 8.62.1 in /superset-frontend (#41822)
     add 53c3b1ceb1b chore(deps): bump fs-extra from 11.3.5 to 11.3.6 in /superset-frontend (#41847)
     add 9b508ebe0d0 fix(ag-grid): honor dataset hour offset in time range filters (#41391)
     add dd0277e1e37 feat(mcp): support embedded guest-token authentication (#41003)
     add 77b98a5d676 chore(deps-dev): update databend-sqlalchemy requirement from <1.0,>=0.3.2 to >=0.5.5,<1.0 (#41479)
     add f0e25fb9789 test(preset-chart-deckgl): prove ctrl+click on deck.gl legend toggles the layer without opening a new tab (#41830)
     add d0b42d8c19a test(dashboard): prove activeTabs from permalinks selects tab content (#41832)
     add af058ccecb5 test(plugin-chart-echarts): prove user-selected plain legend type is honored (#39540) (#41833)
     add de5a31a2cfd test(sql): prove Oracle GROUP BY is no longer rewritten to ordinals (#35414) (#41834)
     add 00a9546de9f test(sql): prove multi-space column names no longer trip subquery validation (#41835)
     add 7b0969131ff test(sql): prove ClickHouse parametric aggregates parse cleanly (#37285) (#41836)
     add 973366d30bf test(models): prove owner association tables reject duplicate rows (#41837)
     add 19c982d8d30 test(async-queries): prove OAuth2RedirectError survives async chart queries (#41839)
     add 51a171f8217 test(dashboard): prove BigInt column values no longer break native filter config (#41840)
     add 0d9b3f3b059 test(dashboard): prove filters with defaults apply without touching every filter (#41841)
     add a01a4ae511e test(superset-ui-core): prove angle-bracketed non-HTML values render as text (#34082) (#41829)
     add 04f8b700d76 feat(datasets): soft-delete and restore (#40130)
     add 5f27f88e730 test(preset-chart-deckgl): prove legend clicks no longer scroll to top (#41831)
     add fe7d9b47247 fix(sqllab): reflect query history deletion without page refresh (#41019)
     add fbc24959ab3 feat(mcp): add semantic layer MCP tools (list_metrics, get_table, get_compatible_dimensions, get_compatible_metrics) (#41611)
     add 054be4d45e8 chore(deps-dev): bump eslint-plugin-storybook from 10.4.5 to 10.4.6 in /superset-frontend (#41360)
     add 8e98ae701b5 chore(deps): bump cryptography from 48.0.1 to 49.0.0 (#41811)
     add 6edbf425f79 chore(deps-dev): update sqlalchemy-ocient requirement from >=1.0.0 to >=3.0.0 (#41806)
     add 098b95560d8 fix(oauth2): retrigger queries for unsaved charts and schema loading after OAuth2 redirect (#41101)
     add 8108496e2a1 chore(deps-dev): bump @types/d3-scale from 2.2.10 to 4.0.9 in /superset-frontend/packages/superset-ui-core (#41318)
     add 4038c9d1e69 chore(deps-dev): bump google-cloud-bigquery from 3.27.0 to 3.42.1 (#41807)
     add d9e1f34527b fix(a11y): add aria-label to notification method remove button (#41850)
     add 09361606335 chore(deps-dev): bump eslint-plugin-cypress from 3.6.0 to 6.4.2 in /superset-frontend (#41849)
     add 8f4c4117656 fix(mcp): coerce Role ORM objects to role names in UserInfo schema (#40746)
     add 2a77c0156af fix(frontend/setup): sanitize returned client error message when shown as HTML content (#41768)
     add 17ae25b8d4d fix(explore): resolve adhoc Custom SQL dimension in Bubble chart (#41861)
     add ef10501e6b2 feat(table v2): add tooltip to table header (#39287)
     add f1c0a461fda chore(deps): bump react-markdown from 9.0.7 to 10.1.0 in /superset-frontend/packages/superset-ui-core (#41805)
     add 6b1311a6c7c fix(sqllab): correct verticalalign CSS typo in SqlEditorTabHeader icon styles (#41052)
     add 0d9533fdf8f fix(reports): export server-paginated table row limits (#41103)
     add 7b95d8b17c9 feat(alerts): add user lookup for email recipients (#41338)
     add 050acc6c308 fix(databend): support configuring Databend via individual parameters (#41513)
     add c253b68d7bc fix(chart): fix Chart Time Grain option not working if Dataset is not saved (#38766)
     add ddca50c8209 fix(ui): improve getPopupContainer to avoid double scrollbar without breaking modal behavior (#38792)
     add 98fc8576131 feat(cache): warm up native filter option queries (#41531)
     add 866f8c51ee2 fix(sqllab): invalid height in ResultTable (#37408)
     add e49945fc2fb fix(table charts v1 & v2): pagination, translation and search by (#36881)
     add 96171552890 fix(utils): urls preserve query params (#35936)
     add 3fa000ba0bc fix(chart): allow custom date format for week range in Big Number with Trendline (#35752)
     add 0efcd54250a fix(charts): fix time comparison crash when offsets share a numeric prefix (#39344)
     add f6d03e4a687 fix(clickhouse): time filters use server timezone for toDateTime literals (#41579)
     add 206155f986c fix(explore): apply per-datasource access check on the legacy explore view (#41425)
     add f74de0eb6c3 fix: Show metric in the default tooltip of deck.gl GeoJson Polygon chart (#41341)
     add 2dab31c1301 fix(mcp): serialize FAB role permissions (#41404)
     add 01cd2152027 fix(explore): default Save As for new charts in save dialog (#41314)
     add 3b1abf82608 feat(Icons): adding Layout icon (#41853)
     add 211bcbc6353 chore(deps-dev): bump @swc/plugin-emotion from 14.14.0 to 14.14.1 in /superset-frontend (#41875)
     add d81b135a04c fix(explore): render DragOverlay so dragged metric/column is visible (#41879)
     add 8a599d70b43 fix(explore): admin creating new chart crashes on save (#41880)
     add 49ed2063815 fix(a11y): add aria-label to dependency-list remove icon (#41878)
     add deefe897f15 chore(frontend): remove orphaned eslint-plugin-cypress devDependency (#41866)
     add 5616a867ceb Merge remote-tracking branch 'origin/master' into hughhhh/dashboard-export-spec-review

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |    11 -
 .github/workflows/codeql-analysis.yml              |     4 +-
 .github/workflows/github-action-validator.yml      |     5 +-
 .github/workflows/showtime-trigger.yml             |     7 +-
 .pre-commit-config.yaml                            |     0
 Dockerfile                                         |     4 +-
 UPDATING.md                                        |    67 +
 docs/admin_docs/configuration/aws-iam.mdx          |    20 +-
 docs/developer_docs/contributing/howtos.md         |    28 +-
 docs/docusaurus.config.ts                          |     2 +-
 docs/package.json                                  |    35 +-
 docs/src/components/databases/types.ts             |     2 +-
 docs/src/pages/inTheWild.tsx                       |     3 +-
 docs/src/pages/index.tsx                           |     3 +-
 docs/src/types/yaml.d.ts                           |     4 +-
 docs/src/webpack.extend.ts                         |    58 +-
 docs/static/feature-flags.json                     |     4 +-
 docs/tsconfig.json                                 |     1 -
 .../version-6.0.0/configuration/databases.mdx      |    74 +
 docs/yarn.lock                                     |  9036 +++++----
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |    17 +-
 helm/superset/README.md.gotmpl                     |    15 +
 helm/superset/templates/_helpers.tpl               |    74 +-
 helm/superset/templates/configmap-superset.yaml    |     8 +-
 helm/superset/templates/deployment-beat.yaml       |    14 +-
 helm/superset/templates/deployment-flower.yaml     |    14 +-
 helm/superset/templates/deployment-worker.yaml     |    18 +-
 helm/superset/templates/deployment-ws.yaml         |    14 +-
 helm/superset/templates/deployment.yaml            |    18 +-
 helm/superset/templates/hpa-node.yaml              |     8 +-
 helm/superset/templates/hpa-worker.yaml            |     8 +-
 helm/superset/templates/ingress.yaml               |     8 +-
 helm/superset/templates/init-job.yaml              |    12 +-
 helm/superset/templates/pdb-beat.yaml              |     8 +-
 helm/superset/templates/pdb-flower.yaml            |     8 +-
 helm/superset/templates/pdb-worker.yaml            |     8 +-
 helm/superset/templates/pdb-ws.yaml                |     8 +-
 helm/superset/templates/pdb.yaml                   |     8 +-
 helm/superset/templates/secret-env.yaml            |     8 +-
 .../superset/templates/secret-superset-config.yaml |     8 +-
 helm/superset/templates/secret-ws.yaml             |     8 +-
 helm/superset/templates/service-flower.yaml        |    11 +-
 helm/superset/templates/service-ws.yaml            |    11 +-
 helm/superset/templates/service.yaml               |    11 +-
 helm/superset/templates/serviceaccount.yaml        |     8 +-
 helm/superset/tests/labels_test.yaml               |   520 +
 pyproject.toml                                     |    24 +-
 requirements/base.in                               |     2 +-
 requirements/base.txt                              |    10 +-
 requirements/development.txt                       |    15 +-
 scripts/translations/apply_do_not_translate.py     |   128 +
 scripts/translations/babel_update.sh               |     8 +
 scripts/translations/backfill_po.py                |    63 +
 superset-embedded-sdk/package-lock.json            |  1410 +-
 superset-embedded-sdk/package.json                 |     8 +-
 .../cypress-base/cypress/e2e/explore/utils.ts      |     6 +-
 superset-frontend/jest.config.js                   |     5 +-
 superset-frontend/package-lock.json                |  4912 ++---
 superset-frontend/package.json                     |    56 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../packages/superset-core/package.json            |     2 +-
 .../packages/superset-core/src/theme/types.ts      |    31 +
 .../src/translation/TranslatorSingleton.test.ts    |    79 +
 .../src/translation/TranslatorSingleton.ts         |    29 +
 .../superset-ui-chart-controls/package.json        |     2 +-
 .../src/operators/renameOperator.ts                |     2 +-
 .../src/operators/utils/timeOffset.ts              |     6 +-
 .../superset-ui-chart-controls/src/types.ts        |    13 +-
 .../test/operators/renameOperator.test.ts          |    24 +
 .../test/operators/utils/timeOffset.test.ts        |    23 +
 .../packages/superset-ui-core/package.json         |    14 +-
 .../src/color/CategoricalColorScale.ts             |    13 +-
 .../AsyncAceEditor/AsyncAceEditor.stories.tsx      |     8 +-
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |   193 +
 .../AsyncAceEditor/emojiWidthPatch.test.ts         |   219 +
 .../components/AsyncAceEditor/emojiWidthPatch.ts   |   283 +
 .../src/components/AsyncAceEditor/index.tsx        |    81 +-
 .../src/components/Button/Button.stories.tsx       |     5 +
 .../src/components/Button/Button.test.tsx          |    62 +
 .../src/components/Button/index.tsx                |    80 +-
 .../src/components/Button/types.ts                 |    19 +-
 .../src/components/CodeEditor/index.tsx            |     8 +-
 .../DropdownButton/DropdownButton.stories.tsx      |     5 +
 .../DropdownButton/DropdownButton.test.tsx         |    76 +
 .../src/components/DropdownButton/index.tsx        |    23 +-
 .../src/components/DropdownButton/types.ts         |     8 +
 .../src/components/DynamicEditableTitle/index.tsx  |    20 +-
 .../src/components/EmptyState/index.tsx            |     8 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |     2 +-
 .../superset-ui-core/src/components/Form/types.ts  |     4 +-
 .../src/components/Icons/AntdEnhanced.tsx          |     2 +
 .../src/components/Icons/index.tsx                 |     3 +-
 .../src/components/Label/index.tsx                 |     2 +-
 .../superset-ui-core/src/components/Label/types.ts |     7 +-
 .../src/components/Loading/types.ts                |     5 +-
 .../src/components/MetadataBar/ContentType.ts      |     9 +-
 .../src/components/Modal/Modal.tsx                 |    78 +-
 .../src/components/PageHeaderWithActions/index.tsx |     5 +-
 .../src/components/SafeMarkdown/SafeMarkdown.tsx   |     5 +-
 .../src/components/Select/AsyncSelect.test.tsx     |    19 +
 .../src/components/Select/AsyncSelect.tsx          |    14 +-
 .../src/components/Select/Select.stories.tsx       |     5 +-
 .../src/components/Select/Select.test.tsx          |    17 +
 .../src/components/Select/Select.tsx               |     5 +-
 .../src/components/Select/styles.tsx               |    10 +-
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |    14 +-
 .../src/components/ThemedAgGridReact/index.tsx     |     1 +
 .../superset-ui-core/src/connection/types.ts       |    11 +-
 .../superset-ui-core/src/currency-format/types.ts  |     8 +-
 .../superset-ui-core/src/models/Registry.ts        |     4 +-
 .../src/query/api/v1/handleError.ts                |     3 +-
 .../src/query/getClientErrorObject.ts              |    10 +-
 .../superset-ui-core/src/query/types/Dashboard.ts  |    13 +-
 .../superset-ui-core/src/query/types/Filter.ts     |     4 +-
 .../superset-ui-core/src/query/types/Metric.ts     |     7 +-
 .../src/query/types/PostProcessing.ts              |    30 +-
 .../src/query/types/QueryFormData.ts               |     3 +-
 .../superset-ui-core/src/time-comparison/types.ts  |     9 +-
 .../superset-ui-core/src/utils/html.test.tsx       |    17 +
 .../chart/components/ChartDataProvider.test.tsx    |     3 +-
 superset-frontend/playwright/pages/ExplorePage.ts  |    46 +
 .../tests/dataset/create-dataset.spec.ts           |     3 +-
 .../experimental/explore/results-tab-reuse.spec.ts |   123 +
 .../plugins/legacy-preset-chart-nvd3/package.json  |     2 +-
 .../plugin-chart-ag-grid-table/package.json        |     2 +-
 .../src/AgGridTable/index.tsx                      |    32 +-
 .../src/AgGridTableChart.tsx                       |    71 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |    31 +-
 .../plugin-chart-ag-grid-table/src/consts.ts       |     8 +
 .../src/controlPanel.tsx                           |    32 +-
 .../src/renderers/NumericCellRenderer.tsx          |    15 +-
 .../src/transformProps.ts                          |    64 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |     7 +-
 .../src/utils/copyCellValue.ts                     |   156 +
 .../src/utils/externalAPIs.ts                      |     2 +
 .../src/utils/getCellStyle.ts                      |     8 +-
 .../src/utils/getColumnStateSignature.ts           |    51 +
 .../src/utils/getRowBasicColorFormatter.ts         |    50 +
 .../src/utils/isEqualColumns.ts                    |    25 +-
 .../src/utils/reconcileColumnState.test.ts         |    17 +
 .../src/utils/useColDefs.ts                        |     1 +
 .../test/AgGridTableChart.test.tsx                 |   417 +-
 .../test/buildQuery.test.ts                        |   129 +
 .../test/cellSelectionWiring.test.tsx              |    99 +
 .../test/controlPanel.test.ts                      |    36 +
 .../test/controlPanel.test.tsx                     |     3 +-
 .../test/transformProps.test.ts                    |   266 +
 .../test/utils/copyCellValue.test.ts               |   203 +
 .../test/utils/getColumnStateSignature.test.ts     |    82 +
 .../test/utils/getRowBasicColorFormatter.test.ts   |    81 +
 .../plugins/plugin-chart-cartodiagram/package.json |     2 +-
 .../plugin-chart-cartodiagram/src/plugin/index.ts  |     3 +-
 .../plugins/plugin-chart-echarts/package.json      |     2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/index.ts   |     3 +-
 .../BigNumberWithTrendline/transformProps.ts       |    16 +-
 .../plugin-chart-echarts/src/BigNumber/utils.ts    |     2 +-
 .../plugin-chart-echarts/src/BoxPlot/types.ts      |     6 +-
 .../src/Bubble/transformProps.ts                   |    11 +-
 .../src/Radar/controlPanel.tsx                     |     3 +-
 .../src/Timeseries/transformers.ts                 |     3 +-
 .../plugin-chart-echarts/src/Waterfall/types.ts    |     6 +-
 .../plugin-chart-echarts/src/utils/legendLayout.ts |     6 +-
 .../src/utils/safeEChartOptionsParser.ts           |     8 +-
 .../plugin-chart-echarts/src/utils/series.ts       |     6 +-
 .../test/BigNumber/transformProps.test.ts          |    44 +-
 .../test/Bubble/transformProps.test.ts             |    72 +
 .../test/Timeseries/transformProps.test.ts         |    55 +-
 .../plugin-chart-echarts/test/utils/series.test.ts |    68 +-
 .../plugins/plugin-chart-handlebars/package.json   |     2 +-
 .../src/plugin/controls/shared.ts                  |     3 +-
 .../src/react-pivottable/utilities.ts              |     3 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |     4 +-
 .../plugins/plugin-chart-table/package.json        |     2 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |     2 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    58 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     5 +-
 .../plugin-chart-table/src/controlPanel.tsx        |     3 +-
 .../plugin-chart-table/src/transformProps.ts       |     5 +
 .../plugin-chart-table/test/TableChart.test.tsx    |    30 +
 .../plugin-chart-table/test/controlPanel.test.tsx  |     3 +-
 .../plugins/plugin-chart-word-cloud/package.json   |     2 +-
 .../plugins/preset-chart-deckgl/package.json       |     4 +-
 .../src/CategoricalDeckGLContainer.test.tsx        |    68 +
 .../src/CategoricalDeckGLContainer.tsx             |    83 +-
 .../src/Multi/Multi.color.test.tsx                 |   245 +
 .../preset-chart-deckgl/src/Multi/Multi.tsx        |    58 +-
 .../src/components/Legend.test.tsx                 |    57 +-
 .../src/layers/Path/buildQuery.ts                  |     3 +-
 .../src/layers/Polygon/transformProps.test.ts      |    36 +
 .../src/layers/Polygon/transformProps.ts           |    16 +-
 .../src/utilities/Shared_DeckGL.tsx                |     3 +-
 .../src/utilities/tooltipUtils.test.tsx            |    90 +
 .../src/utilities/tooltipUtils.tsx                 |    50 +-
 .../preset-chart-deckgl/src/utils/addColor.test.ts |   103 +
 .../preset-chart-deckgl/src/utils/addColor.ts      |   111 +
 .../src/utils/crossFiltersDataMask.ts              |    12 +-
 .../src/SqlLab/actions/sqlLab.test.ts              |    83 +-
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |    26 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |    26 +-
 .../src/SqlLab/components/QueryTable/styles.ts     |     1 +
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |    45 +
 .../buildResultsGridThemeOverrides.test.ts         |    94 +
 .../ResultSet/buildResultsGridThemeOverrides.ts    |    46 +
 .../src/SqlLab/components/ResultSet/index.tsx      |    41 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |    38 +
 .../SqlLab/components/SaveDatasetModal/index.tsx   |     4 +-
 .../SqlLab/components/SaveQuery/SaveQuery.test.tsx |    69 +
 .../src/SqlLab/components/SaveQuery/index.tsx      |    21 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |     4 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |    36 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |     6 +-
 .../middlewares/persistSqlLabStateEnhancer.ts      |     5 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.ts    |     3 +-
 .../Chart/useDrillDetailMenuItems/index.tsx        |    58 +-
 .../useDrillDetailMenuItems.test.tsx               |    18 +
 .../Datasource/FoldersEditor/TreeItem.styles.ts    |    24 +-
 .../Datasource/FoldersEditor/treeUtils.ts          |     4 +-
 .../ErrorMessage/OAuth2RedirectMessage.test.tsx    |    62 +-
 .../ErrorMessage/OAuth2RedirectMessage.tsx         |    19 +-
 .../src/components/FilterableTable/index.tsx       |    22 +-
 .../src/components/FilterableTable/types.ts        |     3 +
 .../src/components/GridTable/Header.test.tsx       |     6 +-
 .../src/components/GridTable/index.tsx             |    10 +-
 .../src/components/GridTable/types.ts              |    12 +
 .../src/components/ImportModal/ErrorAlert.tsx      |     2 +-
 .../components/ImportModal/ImportErrorAlert.tsx    |     2 +-
 .../KebabMenuButton/KebabMenuButton.test.tsx       |    90 +
 .../src/components/KebabMenuButton/index.tsx       |    83 +
 .../src/components/ListView/CardCollection.tsx     |     2 +-
 .../ListView/Filters/CompactSelectPanel.tsx        |     6 +-
 superset-frontend/src/components/ListView/types.ts |     1 +
 superset-frontend/src/components/index.ts          |     1 +
 .../src/dashboard/actions/dashboardLayout.ts       |     2 +-
 .../src/dashboard/actions/dashboardState.ts        |     3 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |     2 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |     3 +-
 .../AutoRefreshStatus/StatusIndicatorDot.tsx       |    14 +-
 .../src/dashboard/components/Dashboard.tsx         |     4 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |    46 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |    24 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |     3 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |    10 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    14 +-
 .../SliceHeaderControls.subdirectory.test.tsx      |     2 +-
 .../SliceHeaderControls.test.tsx                   |     2 +-
 .../components/SliceHeaderControls/index.tsx       |    52 +-
 .../components/SliceHeaderControls/types.ts        |     5 +-
 .../src/dashboard/components/dnd/DragHandle.tsx    |    10 +-
 .../components/gridComponents/Chart/Chart.test.tsx |    22 +-
 .../components/gridComponents/Chart/Chart.tsx      |    44 +-
 .../components/gridComponents/Header/Header.tsx    |     7 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |    52 +
 .../FilterBar/ActionButtons/index.tsx              |    60 +-
 .../FilterBar/CrossFilters/CrossFilter.tsx         |    20 +-
 .../FilterBar/CrossFilters/CrossFilterTag.tsx      |    10 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |     8 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |   110 +
 .../FilterControls.overflow.test.tsx               |     3 +-
 .../FilterBar/UrlFilters/UrlFilterTag.tsx          |     8 +-
 .../FiltersConfigModal/FilterConfigPane.test.tsx   |     4 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |     2 +-
 .../FiltersConfigForm/DependencyList.tsx           |     6 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    10 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    28 +-
 .../FiltersConfigModal/ItemTitleContainer.tsx      |     2 +-
 .../hooks/useItemStateManager.ts                   |     3 +-
 .../FiltersConfigModal/hooks/useModalSaveLogic.ts  |     3 +-
 .../transformers/customizationTransformer.ts       |     8 +-
 .../transformers/filterTransformer.ts              |     4 +-
 .../dashboard/components/nativeFilters/state.ts    |    11 +-
 .../dashboard/containers/DashboardPage.test.tsx    |    45 +-
 .../src/dashboard/containers/DashboardPage.tsx     |    42 +-
 .../src/dashboard/reducers/dashboardInfo.ts        |     3 +-
 .../src/dashboard/reducers/nativeFilters.ts        |     5 +-
 superset-frontend/src/dashboard/types.ts           |     3 +-
 .../src/dashboard/util/activeDashboardFilters.ts   |     2 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |     4 +-
 .../src/dashboard/util/risonFilters.ts             |     6 +-
 superset-frontend/src/dataMask/reducer.ts          |     2 +-
 superset-frontend/src/embedded/index.test.tsx      |    66 +
 superset-frontend/src/embedded/index.tsx           |     2 +
 .../DataTableControl/FilterInput.test.tsx          |    37 +
 .../explore/components/DataTableControl/index.tsx  |    15 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |     6 +
 .../components/ResultsPaneOnDashboard.tsx          |     2 +
 .../DataTablesPane/components/useResultsPane.tsx   |    94 +-
 .../components/DataTablesPane/test/fixture.tsx     |     8 +-
 .../DataTablesPane/test/useResultsPane.test.tsx    |   201 +
 .../src/explore/components/DataTablesPane/types.ts |     4 +-
 .../explore/components/ExploreChartPanel/index.tsx |     1 +
 .../ExploreContainer/ExploreDndContext.tsx         |    61 +
 .../src/explore/components/SaveModal.test.tsx      |    16 +
 .../src/explore/components/SaveModal.tsx           |     1 +
 .../controls/ColumnConfigControl/types.ts          |     4 +-
 .../components/controls/DateFilterControl/types.ts |    22 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |     3 +-
 .../index.tsx                                      |     5 +-
 .../LayerConfigsPopoverContent.tsx                 |     3 +-
 .../explore/components/controls/SelectControl.tsx  |     3 +-
 .../components/controls/TextAreaControl.tsx        |    16 +-
 .../components/controls/VerticalRadioControl.tsx   |     8 +-
 .../components/controls/ViewQueryModal.test.tsx    |   100 +
 .../explore/components/controls/ViewQueryModal.tsx |    60 +-
 .../components/controls/VizTypeControl/VizTile.tsx |    50 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |     6 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |     4 +-
 .../explore/controlUtils/standardizedFormData.ts   |     3 +-
 superset-frontend/src/explore/types.ts             |     6 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |    86 +-
 .../src/features/alerts/AlertReportModal.tsx       |    29 +-
 .../alerts/components/AlertReportCronScheduler.tsx |     1 +
 .../alerts/components/NotificationMethod.test.tsx  |   231 +
 .../alerts/components/NotificationMethod.tsx       |   248 +-
 .../src/features/charts/ChartCard.tsx              |    12 +-
 .../src/features/dashboards/DashboardCard.tsx      |    15 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |     2 +
 .../DatabaseConnectionForm/TableCatalog.tsx        |     4 +
 .../DatabaseConnectionForm/ValidatedInputField.tsx |     2 +
 .../databases/DatabaseModal/ModalHeader.test.tsx   |    58 +
 .../databases/DatabaseModal/ModalHeader.tsx        |    21 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |   150 +-
 .../databases/DatabaseModal/index.test.tsx         |   229 +-
 .../src/features/databases/DatabaseModal/index.tsx |    55 +-
 .../features/databases/UploadDataModel/index.tsx   |    11 +-
 superset-frontend/src/features/databases/types.ts  |     3 +-
 .../datasets/AddDataset/Footer/Footer.test.tsx     |     2 +-
 .../src/features/home/ActivityTable.tsx            |     6 +-
 superset-frontend/src/features/home/Menu.tsx       |    23 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    10 +-
 .../src/features/home/SavedQueries.tsx             |    21 +-
 .../src/features/roles/RoleListEditModal.test.tsx  |    16 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |    55 +
 .../components/Select/SelectFilterPlugin.tsx       |    30 +-
 .../src/hooks/apiResources/queries.ts              |     2 +-
 .../src/middleware/loggerMiddleware.ts             |     6 +-
 superset-frontend/src/pages/Chart/index.tsx        |     3 +-
 .../FileHandler/FileHandler.subdirectory.test.tsx  |     4 +-
 .../src/pages/FileHandler/index.test.tsx           |     4 +-
 .../src/pages/SavedQueryList/index.tsx             |     3 +-
 superset-frontend/src/pages/Tags/index.tsx         |    24 +-
 superset-frontend/src/preamble.ts                  |    71 +-
 superset-frontend/src/setup/setupApp.ts            |     3 +-
 .../src/theme/utils/antdTokenNames.test.ts         |    34 +
 .../src/theme/utils/antdTokenNames.ts              |    26 +
 superset-frontend/src/types/bootstrapTypes.ts      |     1 +
 superset-frontend/src/utils/downloadAsImage.tsx    |     1 -
 superset-frontend/src/views/CRUD/hooks.ts          |    58 +-
 superset-frontend/src/views/CRUD/types.ts          |     7 +-
 superset-frontend/webpack.config.js                |    23 +-
 superset-websocket/package-lock.json               |   140 +-
 superset-websocket/package.json                    |     6 +-
 superset/charts/api.py                             |   110 +-
 superset/charts/filters.py                         |    38 +
 superset/charts/schemas.py                         |     3 +-
 superset/commands/chart/exceptions.py              |    10 +
 superset/commands/chart/importers/v1/utils.py      |   109 +-
 .../commands/chart/restore.py                      |    36 +-
 superset/commands/database/delete.py               |    40 +-
 superset/commands/database/exceptions.py           |    37 +
 superset/commands/database/sync_permissions.py     |    37 +-
 superset/commands/database/uploaders/base.py       |    29 +-
 superset/commands/database/validate.py             |   149 +-
 superset/commands/dataset/create.py                |     9 +
 superset/commands/dataset/duplicate.py             |    15 +-
 superset/commands/dataset/exceptions.py            |    43 +
 superset/commands/dataset/importers/v1/utils.py    |   244 +-
 superset/commands/dataset/restore.py               |    60 +
 superset/commands/report/exceptions.py             |    14 +
 superset/commands/report/execute.py                |   255 +-
 superset/commands/restore.py                       |    15 +-
 superset/config.py                                 |    42 +-
 superset/connectors/sqla/models.py                 |    16 +-
 superset/daos/base.py                              |    56 +-
 superset/daos/dashboard.py                         |    30 +-
 superset/daos/dataset.py                           |   184 +-
 superset/daos/datasource.py                        |    11 +
 superset/daos/semantic_layer.py                    |    34 +
 superset/dashboards/filters.py                     |    29 +-
 superset/databases/schemas.py                      |    22 +
 superset/datasets/api.py                           |   129 +-
 superset/datasets/filters.py                       |    19 +
 superset/db_engine_specs/clickhouse.py             |     7 +-
 superset/db_engine_specs/databend.py               |    76 +-
 superset/db_engine_specs/databricks.py             |   195 +-
 superset/db_engine_specs/redshift.py               |    18 +
 superset/mcp_service/CLAUDE.md                     |    13 +-
 superset/mcp_service/SECURITY.md                   |    48 +
 superset/mcp_service/app.py                        |    42 +-
 superset/mcp_service/auth.py                       |   116 +-
 superset/mcp_service/chart/chart_utils.py          |   146 +-
 superset/mcp_service/chart/compile.py              |    51 +-
 superset/mcp_service/chart/plugin.py               |   262 +
 superset/mcp_service/chart/plugins/__init__.py     |    58 +
 superset/mcp_service/chart/plugins/big_number.py   |   248 +
 superset/mcp_service/chart/plugins/handlebars.py   |   194 +
 .../mcp_service/chart/plugins/mixed_timeseries.py  |   173 +
 superset/mcp_service/chart/plugins/pie.py          |   140 +
 superset/mcp_service/chart/plugins/pivot_table.py  |   164 +
 superset/mcp_service/chart/plugins/table.py        |   136 +
 superset/mcp_service/chart/plugins/xy.py           |   202 +
 superset/mcp_service/chart/registry.py             |   279 +
 superset/mcp_service/chart/schemas.py              |   210 +-
 superset/mcp_service/chart/tool/generate_chart.py  |    20 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    15 +
 superset/mcp_service/chart/tool/update_chart.py    |    25 +
 .../chart/validation/dataset_validator.py          |   275 +-
 .../chart/validation/runtime/__init__.py           |   100 +-
 .../chart/validation/schema_validator.py           |   483 +-
 superset/mcp_service/composite_token_verifier.py   |    40 +-
 superset/mcp_service/dashboard/schemas.py          |     4 +-
 .../dashboard/tool/duplicate_dashboard.py          |     6 +-
 .../dashboard/tool/manage_native_filters.py        |     4 +-
 .../dashboard/tool/remove_chart_from_dashboard.py  |     8 +-
 .../mcp_service/dataset/tool/create_dataset.py     |     8 +
 .../dataset/tool/create_virtual_dataset.py         |    15 +
 superset/mcp_service/dataset/tool/query_dataset.py |    83 +-
 superset/mcp_service/flask_singleton.py            |    22 +
 superset/mcp_service/guest_token_verifier.py       |   180 +
 superset/mcp_service/mcp_config.py                 |   199 +-
 superset/mcp_service/role/schemas.py               |    53 +-
 .../mcp_service/semantic_layer}/__init__.py        |     0
 superset/mcp_service/semantic_layer/schemas.py     |   302 +
 .../{sql_lab => semantic_layer}/tool/__init__.py   |    23 +-
 .../tool/get_compatible_dimensions.py              |   250 +
 .../semantic_layer/tool/get_compatible_metrics.py  |   254 +
 .../mcp_service/semantic_layer/tool/get_table.py   |   529 +
 .../semantic_layer/tool/list_metrics.py            |   338 +
 superset/mcp_service/server.py                     |     1 +
 superset/mcp_service/user/schemas.py               |    45 +-
 superset/mcp_service/utils/query_utils.py          |    57 +
 superset/mcp_service/utils/response_utils.py       |    58 +-
 ...12-00_7c4a8d09ca37_add_deleted_at_to_slices.py} |    47 +-
 ..._12-10_3a8e6f2c1b95_add_deleted_at_to_tables.py |    58 +
 ...-00_b4a3f2e1d0c9_fix_security_view_menu_case.py |   125 +
 superset/models/core.py                            |    36 +-
 superset/models/helpers.py                         |    79 +-
 superset/models/slice.py                           |     8 +-
 superset/models/sql_lab.py                         |    22 +-
 superset/queries/saved_queries/api.py              |     5 +
 superset/queries/saved_queries/schemas.py          |    10 +-
 superset/reports/notifications/slack.py            |     7 +-
 superset/reports/notifications/slackv2.py          |    57 +-
 superset/security/manager.py                       |   304 +-
 superset/semantic_layers/mapper.py                 |    51 +-
 superset/semantic_layers/models.py                 |    12 +-
 superset/sql/parse.py                              |    29 +-
 superset/tags/api.py                               |    16 +-
 superset/tags/filters.py                           |    30 +-
 superset/tasks/cache.py                            |   208 +-
 superset/tasks/native_filter_cache.py              |   245 +
 superset/templates/superset/spa.html               |    30 +
 superset/translations/ar/LC_MESSAGES/messages.po   |  2537 ++-
 superset/translations/ca/LC_MESSAGES/messages.po   |  1611 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   639 +-
 superset/translations/de/LC_MESSAGES/messages.po   |    57 +-
 superset/translations/do-not-translate.txt         |    59 +
 superset/translations/en/LC_MESSAGES/messages.po   |    43 +
 superset/translations/es/LC_MESSAGES/messages.po   |    64 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  2038 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   167 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  5346 ++---
 superset/translations/it/LC_MESSAGES/messages.po   | 19373 +++++++++++++------
 superset/translations/ja/LC_MESSAGES/messages.po   |    43 +
 superset/translations/ko/LC_MESSAGES/messages.po   | 17988 ++++++++++++++---
 superset/translations/lv/LC_MESSAGES/messages.po   |    51 +-
 superset/translations/messages.pot                 |    70 +
 superset/translations/mi/LC_MESSAGES/messages.po   |  1603 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |  2341 ++-
 superset/translations/pl/LC_MESSAGES/messages.po   |  2017 +-
 superset/translations/pt/LC_MESSAGES/messages.po   | 15576 ++++++++++++---
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  2010 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |    37 +
 superset/translations/ru/LC_MESSAGES/messages.po   |   621 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   625 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |  1920 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |    37 +
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |    37 +
 superset/translations/th/LC_MESSAGES/messages.po   |   728 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |  2142 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   621 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |  3520 +++-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  5123 +++--
 superset/utils/core.py                             |     4 +-
 .../utils/pandas_postprocessing/contribution.py    |     4 +-
 superset/utils/pandas_postprocessing/rank.py       |     3 +-
 superset/utils/slack.py                            |   102 +-
 superset/utils/urls.py                             |    34 +-
 superset/views/base.py                             |    71 +-
 superset/views/core.py                             |     6 +-
 superset/views/filters.py                          |    28 +-
 superset/views/groups.py                           |     2 +-
 superset/views/logs.py                             |     2 +-
 superset/views/roles.py                            |     2 +-
 superset/views/user_registrations.py               |     2 +-
 superset/views/users_list.py                       |     2 +-
 tests/integration_tests/charts/commands_tests.py   |     2 +-
 .../integration_tests/charts/soft_delete_tests.py  |   579 +
 tests/integration_tests/core_tests.py              |    16 +
 tests/integration_tests/dashboard_utils.py         |    29 +-
 tests/integration_tests/datasets/api_tests.py      |    71 +-
 .../datasets/soft_delete_tests.py                  |   584 +
 tests/integration_tests/datasource_tests.py        |     2 +-
 .../db_engine_specs/presto_tests.py                |    12 +-
 ...3f2e1d0c9_fix_security_view_menu_case__tests.py |   213 +
 .../queries/saved_queries/api_tests.py             |    63 +
 tests/integration_tests/query_context_tests.py     |     4 +
 tests/integration_tests/reports/commands_tests.py  |    13 +
 tests/integration_tests/security/api_tests.py      |    10 +-
 tests/integration_tests/security_tests.py          |    73 +
 tests/integration_tests/sqla_models_tests.py       |    15 +-
 tests/integration_tests/tags/api_tests.py          |    40 +
 .../charts/commands/importers/v1/import_test.py    |   181 +
 tests/unit_tests/commands/chart/restore_test.py    |    90 +
 .../commands/databases/sync_permissions_test.py    |    46 +
 .../commands/databases/upload_command_test.py      |    87 +
 .../unit_tests/commands/databases/validate_test.py |   484 +
 tests/unit_tests/commands/dataset/restore_test.py  |   181 +
 tests/unit_tests/commands/dataset/test_create.py   |    81 +
 .../unit_tests/commands/dataset/test_duplicate.py  |    68 +-
 tests/unit_tests/commands/report/execute_test.py   |   440 +-
 .../commands/test_base_restore_command.py          |    16 +-
 .../common/test_query_context_factory.py           |     4 +-
 tests/unit_tests/common/test_time_shifts.py        |    54 +
 tests/unit_tests/connectors/sqla/utils_test.py     |    74 +
 tests/unit_tests/dao/base_dao_test.py              |    64 +
 tests/unit_tests/dao/dashboard_test.py             |   119 +
 tests/unit_tests/dao/dataset_test.py               |   182 +
 tests/unit_tests/dao/datasource_test.py            |    59 +
 tests/unit_tests/databases/commands/delete_test.py |   129 +
 tests/unit_tests/databases/schema_tests.py         |    27 +
 .../datasets/commands/importers/v1/import_test.py  |   541 +-
 .../datasets/test_datetime_format_detector.py      |     4 +-
 .../unit_tests/db_engine_specs/test_clickhouse.py  |    26 +-
 tests/unit_tests/db_engine_specs/test_databend.py  |    37 +
 .../unit_tests/db_engine_specs/test_databricks.py  |   731 +-
 .../db_engine_specs/test_databricks_multi_cloud.py |   127 +
 tests/unit_tests/db_engine_specs/test_starrocks.py |     4 +-
 .../mcp_service/chart/test_big_number_chart.py     |    23 +-
 .../chart/test_chart_config_coercion.py            |   279 +
 .../mcp_service/chart/test_chart_schemas.py        |    48 +
 .../mcp_service/chart/test_chart_utils.py          |     4 +-
 tests/unit_tests/mcp_service/chart/test_compile.py |     4 +-
 .../unit_tests/mcp_service/chart/test_registry.py  |   252 +
 .../mcp_service/chart/test_registry_filters.py     |   222 +
 .../mcp_service/chart/tool/test_get_chart_info.py  |    28 +
 .../mcp_service/chart/tool/test_update_chart.py    |   241 +
 .../validation/test_column_name_normalization.py   |   523 +-
 .../chart/validation/test_runtime_validator.py     |   102 +-
 .../dashboard/tool/test_duplicate_dashboard.py     |     6 +-
 .../dashboard/tool/test_get_dashboard_datasets.py  |     9 +-
 .../tool/test_remove_chart_from_dashboard.py       |     2 +-
 .../mcp_service/role/tool/test_role_tools.py       |    49 +
 .../mcp_service/semantic_layer}/__init__.py        |     0
 .../mcp_service/semantic_layer/tool}/__init__.py   |     0
 .../tool/test_get_compatible_dimensions.py         |   284 +
 .../tool/test_get_compatible_metrics.py            |   280 +
 .../semantic_layer/tool/test_get_table.py          |   299 +
 .../semantic_layer/tool/test_list_metrics.py       |   329 +
 .../mcp_service/test_guest_token_auth.py           |   553 +
 tests/unit_tests/mcp_service/test_mcp_server.py    |    29 +
 tests/unit_tests/mcp_service/user/test_schemas.py  |   153 +
 .../mcp_service/utils/test_query_utils.py          |    96 +
 .../mcp_service/utils/test_response_utils.py       |   109 +
 ...hboards.py => test_add_deleted_at_to_slices.py} |   117 +-
 ...hboards.py => test_add_deleted_at_to_tables.py} |   120 +-
 tests/unit_tests/models/core_test.py               |   313 +
 tests/unit_tests/models/helpers_test.py            |   102 +-
 .../models/multi_space_column_names_test.py        |   164 +
 .../models/owner_association_tables_test.py        |    99 +
 tests/unit_tests/models/sql_lab_test.py            |    97 +
 .../models/test_time_filter_hour_offset.py         |    99 +
 .../pandas_postprocessing/test_contribution.py     |    33 +
 .../pandas_postprocessing/test_prophet.py          |     7 +-
 .../unit_tests/pandas_postprocessing/test_rank.py  |    54 +
 .../queries/saved_queries_schema_test.py}          |    18 +-
 .../reports/notifications/slack_tests.py           |   676 +-
 .../scripts/translations/backfill_po_test.py       |    98 +
 tests/unit_tests/security/guest_rls_test.py        |     4 +-
 tests/unit_tests/security/manager_test.py          |   720 +
 tests/unit_tests/semantic_layers/dao_test.py       |   205 +
 tests/unit_tests/semantic_layers/mapper_test.py    |   156 +-
 tests/unit_tests/semantic_layers/models_test.py    |   107 +
 tests/unit_tests/sql/parse_tests.py                |   125 +-
 tests/unit_tests/tasks/test_async_queries.py       |    52 +
 tests/unit_tests/tasks/test_cache.py               |   288 +-
 tests/unit_tests/tasks/test_native_filter_cache.py |   405 +
 tests/unit_tests/test_viz_cache_key.py             |     4 +-
 tests/unit_tests/utils/slack_test.py               |   233 +
 tests/unit_tests/utils/test_core.py                |     8 +
 tests/unit_tests/utils/urls_tests.py               |    50 +-
 tests/unit_tests/views/test_base.py                |    26 +-
 tests/unit_tests/views/test_bootstrap_auth.py      |    72 +-
 593 files changed, 106744 insertions(+), 32124 deletions(-)
 mode change 100644 => 100755 .pre-commit-config.yaml
 create mode 100644 helm/superset/tests/labels_test.yaml
 create mode 100644 scripts/translations/apply_do_not_translate.py
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/AsyncAceEditor/emojiWidthPatch.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/AsyncAceEditor/emojiWidthPatch.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/DropdownButton/DropdownButton.test.tsx
 create mode 100644 superset-frontend/playwright/tests/experimental/explore/results-tab-reuse.spec.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/copyCellValue.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/getColumnStateSignature.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/getRowBasicColorFormatter.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/cellSelectionWiring.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/copyCellValue.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/getColumnStateSignature.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/getRowBasicColorFormatter.test.ts
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/CategoricalDeckGLContainer.test.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/Multi/Multi.color.test.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/utilities/tooltipUtils.test.tsx
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/utils/addColor.test.ts
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/utils/addColor.ts
 create mode 100644 superset-frontend/src/SqlLab/components/ResultSet/buildResultsGridThemeOverrides.test.ts
 create mode 100644 superset-frontend/src/SqlLab/components/ResultSet/buildResultsGridThemeOverrides.ts
 create mode 100644 superset-frontend/src/components/KebabMenuButton/KebabMenuButton.test.tsx
 create mode 100644 superset-frontend/src/components/KebabMenuButton/index.tsx
 create mode 100644 superset-frontend/src/embedded/index.test.tsx
 mode change 100644 => 100755 superset-frontend/src/explore/components/DataTableControl/FilterInput.test.tsx
 mode change 100644 => 100755 superset-frontend/src/explore/components/DataTableControl/index.tsx
 create mode 100644 superset-frontend/src/explore/components/DataTablesPane/test/useResultsPane.test.tsx
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/ModalHeader.test.tsx
 copy tests/unit_tests/mcp_service/test_schema_discovery.py => superset/commands/chart/restore.py (53%)
 create mode 100644 superset/commands/dataset/restore.py
 create mode 100755 superset/mcp_service/chart/plugin.py
 create mode 100644 superset/mcp_service/chart/plugins/__init__.py
 create mode 100644 superset/mcp_service/chart/plugins/big_number.py
 create mode 100644 superset/mcp_service/chart/plugins/handlebars.py
 create mode 100644 superset/mcp_service/chart/plugins/mixed_timeseries.py
 create mode 100644 superset/mcp_service/chart/plugins/pie.py
 create mode 100644 superset/mcp_service/chart/plugins/pivot_table.py
 create mode 100644 superset/mcp_service/chart/plugins/table.py
 create mode 100755 superset/mcp_service/chart/plugins/xy.py
 create mode 100644 superset/mcp_service/chart/registry.py
 mode change 100644 => 100755 superset/mcp_service/chart/validation/runtime/__init__.py
 create mode 100644 superset/mcp_service/guest_token_verifier.py
 copy {superset-core/src/superset_core/common => superset/mcp_service/semantic_layer}/__init__.py (100%)
 create mode 100644 superset/mcp_service/semantic_layer/schemas.py
 copy superset/mcp_service/{sql_lab => semantic_layer}/tool/__init__.py (64%)
 create mode 100644 superset/mcp_service/semantic_layer/tool/get_compatible_dimensions.py
 create mode 100644 superset/mcp_service/semantic_layer/tool/get_compatible_metrics.py
 create mode 100644 superset/mcp_service/semantic_layer/tool/get_table.py
 create mode 100644 superset/mcp_service/semantic_layer/tool/list_metrics.py
 create mode 100644 superset/mcp_service/utils/query_utils.py
 copy superset/migrations/versions/{2025-07-15_18-41_cd1fb11291f2_add_theme_id_to_dashboard_model.py => 2026-05-08_12-00_7c4a8d09ca37_add_deleted_at_to_slices.py} (53%)
 create mode 100644 superset/migrations/versions/2026-05-08_12-10_3a8e6f2c1b95_add_deleted_at_to_tables.py
 create mode 100644 superset/migrations/versions/2026-05-29_00-00_b4a3f2e1d0c9_fix_security_view_menu_case.py
 create mode 100644 superset/tasks/native_filter_cache.py
 create mode 100644 superset/translations/do-not-translate.txt
 create mode 100644 tests/integration_tests/charts/soft_delete_tests.py
 create mode 100644 tests/integration_tests/datasets/soft_delete_tests.py
 create mode 100644 tests/integration_tests/migrations/b4a3f2e1d0c9_fix_security_view_menu_case__tests.py
 create mode 100644 tests/unit_tests/commands/chart/restore_test.py
 create mode 100644 tests/unit_tests/commands/dataset/restore_test.py
 create mode 100644 tests/unit_tests/dao/dashboard_test.py
 create mode 100644 tests/unit_tests/dao/datasource_test.py
 create mode 100644 tests/unit_tests/databases/commands/delete_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_databricks_multi_cloud.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_config_coercion.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_registry.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_registry_filters.py
 mode change 100644 => 100755 tests/unit_tests/mcp_service/chart/validation/test_column_name_normalization.py
 mode change 100644 => 100755 tests/unit_tests/mcp_service/chart/validation/test_runtime_validator.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/semantic_layer}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/semantic_layer/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/semantic_layer/tool/test_get_compatible_dimensions.py
 create mode 100644 tests/unit_tests/mcp_service/semantic_layer/tool/test_get_compatible_metrics.py
 create mode 100644 tests/unit_tests/mcp_service/semantic_layer/tool/test_get_table.py
 create mode 100644 tests/unit_tests/mcp_service/semantic_layer/tool/test_list_metrics.py
 create mode 100644 tests/unit_tests/mcp_service/test_guest_token_auth.py
 create mode 100644 tests/unit_tests/mcp_service/user/test_schemas.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_query_utils.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_response_utils.py
 copy tests/unit_tests/migrations/{test_add_deleted_at_to_dashboards.py => test_add_deleted_at_to_slices.py} (54%)
 copy tests/unit_tests/migrations/{test_add_deleted_at_to_dashboards.py => test_add_deleted_at_to_tables.py} (54%)
 create mode 100644 tests/unit_tests/models/multi_space_column_names_test.py
 create mode 100644 tests/unit_tests/models/owner_association_tables_test.py
 create mode 100644 tests/unit_tests/models/test_time_filter_hour_offset.py
 create mode 100644 tests/unit_tests/pandas_postprocessing/test_rank.py
 copy tests/{integration_tests/fixtures/client.py => unit_tests/queries/saved_queries_schema_test.py} (60%)
 create mode 100644 tests/unit_tests/tasks/test_native_filter_cache.py