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

EnxDev pushed a change to branch chore/fc-02-legacy-plugin-components
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 122b677b4f3 fix: make lift-column sort comparator deterministic for 
non-finite values
     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 dc5c5af4671 docs: Add geOrchestra project and pi-geosolutions to In 
the Wild (#41801)
     add e333135a0d4 feat(i18n): expose the six newly backfilled locales 
(#41827)
     add 001d6c9692c fix(semantic-layers): apply time-comparison offset to 
`TEMPORAL_RANGE` filters (#41556)
     add 34d4966f8b1 fix(dataset): resolve duplicate virtual dataset validation 
error (#37932)
     add 01e872c1056 refactor: remove the deprecated AVOID_COLORS_COLLISION 
feature flag (#41800)
     add 33f0fc93edf feat: introduce Subject model and entity editors/viewers 
(#38831)
     add 83716cb8c0d build(websocket): migrate to ESM (#41680)
     add 2c8cdbbd9b2 chore(dependabot): unify npm Dependabot config used for 
multi-workspace `superset-frontend` (#41586)
     add e65b2c49d73 fix(marshmallow): add compatibility layer for 
Flask-AppBuilder with marshmallow 4.x (#35920)
     add 8e549e49750 chore(deps-dev): update playwright requirement from 
<2,>=1.60.0 to >=1.61.0,<2 (#41890)
     add 31351eb52af chore(deps-dev): bump @types/node from 26.0.1 to 26.1.0 in 
/superset-frontend (#41896)
     add 15f8b8e9b40 chore(deps): bump immer from 11.1.8 to 11.1.9 in 
/superset-frontend (#41894)
     add a0d9e82c60b chore(deps): bump celery from 5.5.2 to 5.6.3 (#41892)
     add 3a10f39c207 chore(deps-dev): bump pytest from 7.4.4 to 9.1.1 (#41888)
     add ea5950558bb feat(dashboard): add vertical alignment guides and height 
indicator when resizing charts (#41079)
     add 74c3f3b66bd feat(theme): make default theme changeable through 
config.py (#41007)
     add 227b3a48c11 fix(chart-data): return 403 for SupersetSecurityException 
in chart data API (#41865)
     add 3dd5e69714f chore(deps-dev): bump @types/node from 26.0.1 to 26.1.0 in 
/superset-websocket (#41887)
     add 30e1ab3203c chore(deps): bump docker/login-action from 4.2.0 to 4.3.0 
(#41901)
     add a4418a27c5c chore(deps): bump github/codeql-action/analyze from 4.36.2 
to 4.36.3 (#41900)
     add c1d4401d292 chore(deps): bump github/codeql-action/init from 4.36.2 to 
4.36.3 (#41899)
     add afc7dbeff23 chore(deps-dev): update teradatasql requirement from 
>=16.20.0.23 to >=20.0.0.62 (#41886)
     add 1fd43ffe52c feat(mcp): scope embedded-guest data reads to the token's 
dashboards (#41753)
     add baff395d983 feat(mcp): add list_themes, get_theme_info, and 
create_theme tools (#41497)
     add bea5f8d4a44 fix(dashboard): stagger manual refresh to prevent worker 
saturation (#40512)
     add 43bfc85941c fix(db): validate schema and table cache timeout to reject 
negative values (#38490)
     add 2380d576d54 fix(cli): avoid DetachedInstanceError in 
compute-thumbnails (#41530)
     add 1bfb7c60e7c fix(ci): repair stale mock target breaking Python-Unit on 
master (#41911)
     add a899e1db414 feat(versioning): entity-version base infrastructure 
(gated off, dark launch) (#41176)
     add 0ff52d46e07 fix(docs): correct broken In the Wild logo for Région 
Hauts-de-France (#41918)
     add ea76d0d785e chore(deps): bump cookie from 1.1.1 to 2.0.1 in 
/superset-websocket (#41874)
     add be600f78fc6 chore(deps): upgrade ag-grid to 36.0.0 (#41882)
     add 597c9c6fea6 fix: do not require recaptcha public key for LDAP 
authentication (#37009)
     add e2ba378b699 fix(sqllab): redirect legacy /superset/sql/<db_id>/ deep 
links (#41759)
     add 38707866c02 chore(deps-dev): bump baseline-browser-mapping from 
2.10.40 to 2.10.41 in /superset-frontend (#41929)
     add 169c05f8ce8 chore(deps-dev): bump tsx from 4.22.4 to 4.22.5 in 
/superset-frontend (#41928)
     add 2a3d65f61a6 chore(deps): bump docker/login-action from 4.3.0 to 4.4.0 
(#41927)
     add 1ddc3e45d77 chore(deps): bump @deck.gl/mapbox from 9.3.5 to 9.3.6 in 
/superset-frontend (#41926)
     add 1631d52b650 fix(CollectionControl): a11y drag handle and vertical axis 
lock (#39863)
     add 2112fbd3798 feat(subjects): add read-only Subject REST API and DAO 
(#41897)
     add a6ce2fd76b0 fix(mcp): patch list_metrics DAOs via module object to 
avoid Python 3.10 mock resolution bug (#41881)
     add 5b8e94de267 feat(semantic layers): dashboard filters (#40475)
     add bd61e09b4ea fix(mcp): bind Big Number chart to a temporal column for 
dashboard time filters (#41895)
     add bc80d138fdc chore(deps): bump slack-sdk from 3.42.0 to 3.43.0 (#41893)
     add 35712ff9770 fix(sqllab): show truncated table list warning (#41617)
     add 4dde4d2c706 fix(versioning): make baseline capture atomic (#41941)
     add 38181521912 fix(mcp): user/role tools demanded a permission FAB never 
registers (#41858)
     add 51ce2b11ad3 chore(deps-dev): update impyla requirement from 
<0.23,>0.16.2 to >=0.24.0,<0.25 (#41951)
     add 7a752d1c228 fix(dashboard): restore arrow key navigation in modal 
inputs opened from dropdown (#37978)
     add 5c12f216d51 feat(mcp): add delete_chart and delete_dashboard tools 
(#41472)
     add 678fcba8b48 feat(helm): Superset 6 structured config schema with 
deprecation path (#41777)
     add b641008da6a fix(versioning): preserve complete multi-flush history 
(#41940)
     add df209cedbf8 chore(deps-dev): update sqlalchemy-firebird requirement 
from <2.2,>=0.7.0 to >=0.8.0,<2.2 (#41950)
     add e8521471820 test: add edge-case tests for datetime_to_epoch function 
(#39404)
     add a03cabffa77 perf(csv): avoid regex in CSV value escaping (#40195)
     add 0ecf34d80e1 fix(a11y): add aria-label to ViewportControl text inputs 
(#41931)
     add b237aefb1ea fix(a11y): add aria-label to RightMenu documentation and 
bug-report icon links (#41903)
     add f5deda78641 fix(dataset): copy catalog field when duplicating a 
BigQuery dataset (#41106)
     add 189f258e0ce fix(drill): coerce temporal drill filter values (#40180)
     add 5e6b29d1a32 chore(deps-dev): bump sqlalchemy-hana from 0.4.0 to 3.0.3 
(#41953)
     add 49dc0acd827 fix(pre-commit): prettier hook drops first file and never 
batches (#41944)
     add b8c0171976d test(rls): assert related/subjects honors search filter 
for roles (#31466) (#41969)
     add 958d1ab256a test(rls): assert dataset search returns all mask matches 
(#29707) (#41968)
     add 13c5a324027 fix(tests): correct stale TYPE_CHECKING import path in 
base_data_loader (#41972)
     add a1d1d69f5ea ci: enforce SQLAlchemy 2.0 deprecation warnings in 
unit-test CI (#41915)
     add 2a18a556b09 chore(frontend): lint Emotion CSS-in-JS with Stylelint 
(#41871)
     add db1912c6d98 chore(deps): bump cachetools from 6.2.1 to 7.1.4 (#41947)
     add 0ca51d9796a fix(Database Connection Form): Added validation to db 
credential input (#37919)
     add a0c791da3b4 Merge branch 'master' into 
chore/fc-02-legacy-plugin-components

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |   300 -
 .github/workflows/check-python-deps.yml            |     2 +-
 .github/workflows/codeql-analysis.yml              |     4 +-
 .github/workflows/superset-python-unittest.yml     |     6 +
 ...sync-requirements-for-python-dep-upgrade-pr.yml |     2 +-
 .pre-commit-config.yaml                            |     8 +-
 .rat-excludes                                      |     1 +
 RESOURCES/INTHEWILD.yaml                           |    39 +-
 UPDATING.md                                        |   155 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |     6 +-
 docs/admin_docs/configuration/aws-iam.mdx          |    20 +-
 docs/admin_docs/configuration/cache.mdx            |    12 +-
 .../configuration/networking-settings.mdx          |     6 +-
 docs/admin_docs/security/securing_superset.mdx     |     2 +-
 docs/admin_docs/security/security.mdx              |   155 +-
 .../components/design-system/metadatabar.mdx       |    16 +-
 docs/developer_docs/contributing/howtos.md         |    11 +
 .../guidelines/backend-style-guidelines.md         |    10 +-
 .../guidelines/backend/dao-style-guidelines.md     |     8 +-
 docs/developer_docs/testing/backend-testing.md     |     2 +-
 docs/docs/faq.mdx                                  |    17 +
 .../creating-your-first-dashboard.mdx              |     8 +-
 docs/package.json                                  |    15 +-
 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                         |     4 +-
 docs/static/feature-flags.json                     |    21 +-
 docs/static/img/logos/camptocamp.svg               |   Bin 0 -> 14528 bytes
 docs/static/img/logos/craig.png                    |   Bin 0 -> 40696 bytes
 docs/static/img/logos/geo2france.png               |   Bin 0 -> 4687 bytes
 docs/static/img/logos/geobretagne.svg              |   Bin 0 -> 7203 bytes
 docs/static/img/logos/georchestra.svg              |   Bin 0 -> 12615 bytes
 docs/static/img/logos/jDev.svg                     |   Bin 0 -> 26135 bytes
 docs/static/img/logos/mel.jpg                      |   Bin 0 -> 27292 bytes
 docs/static/img/logos/pi-Geosolutions.png          |   Bin 0 -> 22032 bytes
 .../img/logos/rennes-ville-metropole_noir.svg      |   Bin 0 -> 4242 bytes
 docs/tsconfig.json                                 |     1 -
 docs/yarn.lock                                     |  7878 ++++++-----
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |    59 +-
 helm/superset/UPGRADING.md                         |   161 +
 helm/superset/templates/NOTES.txt                  |     6 +
 helm/superset/templates/_helpers.tpl               |   641 +-
 helm/superset/templates/deployment-beat.yaml       |    10 +-
 helm/superset/templates/deployment-flower.yaml     |     5 +-
 helm/superset/templates/deployment-worker.yaml     |    10 +-
 helm/superset/templates/deployment-ws.yaml         |     3 +
 helm/superset/templates/deployment.yaml            |    12 +-
 helm/superset/templates/secret-env.yaml            |    36 +-
 .../superset/templates/secret-superset-config.yaml |     4 +-
 helm/superset/tests/checksum_test.yaml             |   132 +
 helm/superset/tests/config_test.yaml               |    94 +
 helm/superset/tests/deprecation_test.yaml          |    28 +
 helm/superset/tests/initscript_test.yaml           |    63 +
 helm/superset/tests/secret_env_test.yaml           |    71 +
 helm/superset/tests/serviceaccount_test.yaml       |    28 +
 helm/superset/tests/values_defaults_test.yaml      |    30 +
 helm/superset/values.schema.json                   |   140 +
 helm/superset/values.yaml                          |   148 +-
 pyproject.toml                                     |    31 +-
 requirements/base.in                               |     2 +-
 requirements/base.txt                              |    18 +-
 requirements/development.txt                       |    28 +-
 scripts/stylelint.sh                               |    49 +
 scripts/translations/apply_do_not_translate.py     |   128 +
 scripts/translations/babel_update.sh               |     8 +
 scripts/translations/backfill_po.py                |    63 +
 superset-core/pyproject.toml                       |     2 +-
 superset-core/src/superset_core/common/daos.py     |    54 +-
 superset-core/src/superset_core/common/models.py   |    62 +
 .../src/superset_core/semantic_layers/types.py     |     2 +-
 superset-embedded-sdk/package-lock.json            |  1410 +-
 superset-embedded-sdk/package.json                 |     8 +-
 superset-frontend/.stylelintignore                 |     9 +
 .../cypress-base/cypress/e2e/explore/utils.ts      |     6 +-
 .../cypress-base/cypress/fixtures/charts.json      |     4 -
 superset-frontend/jest.config.js                   |     5 +-
 superset-frontend/package-lock.json                |  4499 +++----
 superset-frontend/package.json                     |    44 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../superset-core/src/theme/GlobalStyles.tsx       |     8 +-
 .../packages/superset-core/src/theme/types.ts      |    10 +
 .../src/translation/TranslatorSingleton.test.ts    |    79 +
 .../src/translation/TranslatorSingleton.ts         |    29 +
 .../superset-core/src/translation/types/index.ts   |    19 +-
 .../superset-ui-chart-controls/src/fixtures.ts     |     2 +-
 .../src/operators/renameOperator.ts                |     2 +-
 .../src/operators/utils/timeOffset.ts              |     6 +-
 .../superset-ui-chart-controls/src/types.ts        |    14 +-
 .../test/operators/renameOperator.test.ts          |    24 +
 .../test/operators/utils/timeOffset.test.ts        |    23 +
 .../packages/superset-ui-core/package.json         |    16 +-
 .../src/color/CategoricalColorScale.ts             |    20 +-
 .../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        |    82 +-
 .../src/components/Button/types.ts                 |     7 +-
 .../src/components/CodeEditor/index.tsx            |     8 +-
 .../src/components/DropdownButton/index.tsx        |    20 +-
 .../DropdownContainer/DropdownContainer.tsx        |     4 +-
 .../src/components/DynamicEditableTitle/index.tsx  |    20 +-
 .../src/components/EmptyState/index.tsx            |     8 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |     8 +
 .../superset-ui-core/src/components/Form/types.ts  |     8 +-
 .../src/components/Icons/AntdEnhanced.tsx          |     2 +
 .../src/components/Icons/Icons.stories.tsx         |     6 +-
 .../src/components/Icons/index.tsx                 |     3 +-
 .../superset-ui-core/src/components/Label/types.ts |     7 +-
 .../src/components/Loading/types.ts                |     5 +-
 .../src/components/MetadataBar/ContentConfig.tsx   |     6 +-
 .../src/components/MetadataBar/ContentType.ts      |    17 +-
 .../components/MetadataBar/MetadataBar.stories.tsx |    22 +-
 .../components/MetadataBar/MetadataBar.test.tsx    |    12 +-
 .../MetadataBar/MetadataBarOverview.stories.tsx    |     4 +-
 .../src/components/MetadataBar/constants.ts        |     2 +-
 .../src/components/Modal/Modal.tsx                 |    82 +-
 .../components/ModalTrigger/ModalTrigger.test.tsx  |    42 +-
 .../src/components/ModalTrigger/index.tsx          |    20 +-
 .../src/components/SafeMarkdown/SafeMarkdown.tsx   |     5 +-
 .../src/components/Select/AsyncSelect.tsx          |     5 +-
 .../src/components/Select/Select.stories.tsx       |     5 +-
 .../src/components/Select/Select.tsx               |     5 +-
 .../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  |    15 +-
 .../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/featureFlags.ts     |     3 +-
 .../superset-ui-core/src/utils/html.test.tsx       |    17 +
 .../chart/components/ChartDataProvider.test.tsx    |     3 +-
 .../test/color/CategoricalColorScale.test.ts       |    84 +-
 .../playwright/helpers/api/dataset.ts              |     6 +-
 .../playwright/tests/dashboard/theme.spec.ts       |    35 +-
 .../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/styles/index.tsx                           |     1 -
 .../src/transformProps.ts                          |    64 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |     9 +-
 .../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                 |   431 +-
 .../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 +
 .../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          |    28 +-
 .../test/Bubble/transformProps.test.ts             |    72 +
 .../test/Timeseries/transformProps.test.ts         |    55 +-
 .../plugin-chart-echarts/test/utils/series.test.ts |    68 +-
 .../src/plugin/controls/shared.ts                  |     3 +-
 .../src/PivotTableChart.tsx                        |    84 +-
 .../src/react-pivottable/utilities.ts              |     3 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |     4 +-
 .../test/PivotTableChart.test.tsx                  |   370 +
 .../plugin-chart-table/src/DataTable/DataTable.tsx |     2 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    81 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     5 +-
 .../plugin-chart-table/src/controlPanel.tsx        |     3 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |    49 +
 .../plugin-chart-table/test/controlPanel.test.tsx  |     3 +-
 .../plugins/preset-chart-deckgl/package.json       |     2 +-
 .../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 +-
 .../src/utils/crossFiltersDataMask.ts              |    12 +-
 superset-frontend/spec/fixtures/mockCharts.ts      |     7 -
 .../spec/fixtures/mockDashboardInfo.js             |     3 +-
 .../spec/fixtures/mockDashboardState.js            |     3 +-
 superset-frontend/spec/fixtures/mockDatasource.ts  |     4 +-
 superset-frontend/spec/fixtures/mockReportState.js |     1 -
 .../spec/fixtures/mockSliceEntities.js             |    23 +-
 .../src/SqlLab/SqlLabGlobalStyles.tsx              |    10 +-
 .../src/SqlLab/actions/sqlLab.test.ts              |    83 +-
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |    26 +-
 .../src/SqlLab/components/EditorWrapper/index.tsx  |     4 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |    26 +-
 .../src/SqlLab/components/QueryTable/styles.ts     |     1 +
 .../buildResultsGridThemeOverrides.test.ts         |    94 +
 .../ResultSet/buildResultsGridThemeOverrides.ts    |    46 +
 .../src/SqlLab/components/ResultSet/index.tsx      |    42 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |   104 +-
 .../SqlLab/components/SaveQuery/SaveQuery.test.tsx |    41 +
 .../src/SqlLab/components/SaveQuery/index.tsx      |    12 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |     4 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |    36 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |     6 +-
 superset-frontend/src/SqlLab/fixtures.ts           |     3 +-
 .../middlewares/persistSqlLabStateEnhancer.ts      |     5 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.ts    |     3 +-
 superset-frontend/src/SqlLab/types.ts              |    10 +-
 .../TimeGrainPreFilter.integration.test.tsx        |     6 +-
 .../src/components/AuditInfo/index.tsx             |     6 +-
 .../src/components/AuditInfo/types.ts              |     4 +-
 .../components/Chart/ChartErrorMessage.test.tsx    |    14 +-
 .../src/components/Chart/ChartErrorMessage.tsx     |     8 +-
 .../components/Chart/DrillBy/DrillByChart.test.tsx |     7 +-
 .../components/Chart/DrillBy/DrillByModal.test.tsx |     7 +-
 .../Chart/DrillBy/DrillBySubmenu.test.tsx          |     2 +-
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |     7 +-
 superset-frontend/src/components/Chart/types.ts    |     6 +-
 .../Datasource/ChangeDatasourceModal/index.tsx     |    10 +-
 .../DatasourceModal/DatasourceModal.test.tsx       |     8 +
 .../Datasource/DatasourceModal/index.tsx           |     7 +-
 .../Datasource/FoldersEditor/TreeItem.styles.ts    |    24 +-
 .../Datasource/FoldersEditor/treeUtils.ts          |     4 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |   106 +-
 .../DatasetUsageTab/DatasetUsageTab.test.tsx       |    39 +-
 .../components/DatasetUsageTab/index.tsx           |    28 +-
 .../tests/DatasourceEditor.test.utils.tsx          |     2 +-
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |    12 +-
 .../ErrorMessage/DatabaseErrorMessage.tsx          |    18 +-
 .../ErrorMessage/OAuth2RedirectMessage.test.tsx    |    60 +-
 .../ErrorMessage/OAuth2RedirectMessage.tsx         |    19 +-
 .../ErrorMessage/TimeoutErrorMessage.test.tsx      |    12 +-
 .../ErrorMessage/TimeoutErrorMessage.tsx           |    18 +-
 .../src/components/FacePile/FacePile.stories.tsx   |    60 -
 .../src/components/FacePile/FacePile.test.tsx      |   173 -
 .../src/components/FacePile/index.tsx              |    64 -
 .../src/components/FacePile/utils.tsx              |    49 -
 .../FilterableTable/FilterableTable.test.tsx       |    55 +-
 .../src/components/FilterableTable/index.tsx       |     2 +
 .../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 +-
 .../ListView/Filters/CompactSelectPanel.tsx        |     6 +-
 superset-frontend/src/components/ListView/types.ts |     1 +
 .../src/components/MessageToasts/Toast.tsx         |     2 +-
 .../src/components/ResizableSidebar/index.tsx      |     2 +-
 .../TableSelector/TableSelector.test.tsx           |    40 +-
 .../src/components/TableSelector/index.tsx         |     6 +
 .../src/components/TagsList/TagsList.test.tsx      |     4 +-
 superset-frontend/src/components/index.ts          |     1 -
 .../src/dashboard/actions/dashboardLayout.ts       |     2 +-
 .../src/dashboard/actions/dashboardState.test.ts   |    44 +
 .../src/dashboard/actions/dashboardState.ts        |    23 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |     4 +-
 .../src/dashboard/actions/sliceEntities.ts         |     6 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |     5 +-
 .../AutoRefreshStatus/StatusIndicatorDot.tsx       |    14 +-
 .../src/dashboard/components/Dashboard.tsx         |     4 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |    23 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |     3 +-
 .../dashboard/components/DashboardGrid.test.tsx    |    36 +
 .../src/dashboard/components/DashboardGrid.tsx     |    65 +-
 .../dashboard/components/FiltersBadge/Styles.tsx   |     1 -
 .../dashboard/components/Header/Header.test.tsx    |     6 +-
 .../src/dashboard/components/Header/index.tsx      |    19 +-
 .../components/Header/useDashboardMetadataBar.tsx  |    17 +-
 .../Header/useHeaderAutoRefresh.test.tsx           |   154 +
 .../components/Header/useHeaderAutoRefresh.ts      |    31 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |   249 +-
 .../PropertiesModal/hooks/useAccessOptions.ts      |    76 -
 .../dashboard/components/PropertiesModal/index.tsx |    77 +-
 .../sections/AccessSection.stories.tsx             |   152 +
 .../sections/AccessSection.test.tsx                |    72 +-
 .../PropertiesModal/sections/AccessSection.tsx     |   119 +-
 .../components/PropertiesModal/utils.test.ts       |    90 -
 .../dashboard/components/PropertiesModal/utils.ts  |    81 -
 .../src/dashboard/components/SaveModal.tsx         |    10 +-
 .../src/dashboard/components/SliceAdder.test.tsx   |     2 +-
 .../src/dashboard/components/SliceAdder.tsx        |    11 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |     2 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    10 +-
 .../SliceHeaderControls.subdirectory.test.tsx      |     2 +-
 .../SliceHeaderControls.test.tsx                   |     2 +-
 .../components/SliceHeaderControls/index.tsx       |    10 +-
 .../components/SliceHeaderControls/types.ts        |     3 +-
 .../src/dashboard/components/dnd/DragHandle.tsx    |    10 +-
 .../components/filterscope/FilterScopeSelector.tsx |     2 +-
 .../components/gridComponents/Chart/Chart.test.tsx |     1 -
 .../components/gridComponents/Chart/Chart.tsx      |    38 +-
 .../components/gridComponents/Header/Header.tsx    |     7 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |    52 +
 .../src/dashboard/components/menu/HoverMenu.tsx    |     2 +-
 .../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 +
 .../FilterBarSettings/FilterBarSettings.test.tsx   |     2 +-
 .../FilterControls/FilterControlShared.tsx         |     4 +-
 .../FilterControls.overflow.test.tsx               |     3 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |     9 +-
 .../FilterBar/UrlFilters/UrlFilterTag.tsx          |     8 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |     2 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |    92 +-
 .../FiltersConfigForm/DatasetSelect.test.tsx       |    45 +
 .../FiltersConfigForm/DatasetSelect.tsx            |   102 +-
 .../FiltersConfigForm/DependencyList.tsx           |     6 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   206 +-
 .../FiltersConfigForm/RemovedFilter.tsx            |     2 +-
 .../FiltersConfigForm/getControlItemsMap.tsx       |     4 +
 .../FiltersConfigForm/utils.test.ts                |    76 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |    91 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    15 +
 .../hooks/useItemStateManager.ts                   |     3 +-
 .../FiltersConfigModal/hooks/useModalSaveLogic.ts  |     3 +-
 .../transformers/buildTarget.test.ts               |    74 +
 .../FiltersConfigModal/transformers/buildTarget.ts |    61 +
 .../transformers/customizationTransformer.ts       |    21 +-
 .../transformers/filterTransformer.ts              |    20 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |     3 +
 .../nativeFilters/FiltersConfigModal/utils.ts      |    10 +-
 .../dashboard/components/nativeFilters/state.ts    |    11 +-
 .../dashboard/components/nativeFilters/utils.ts    |     6 +-
 .../components/resizable/ResizableContainer.tsx    |   155 +-
 .../dashboard/containers/DashboardPage.test.tsx    |     3 +-
 .../src/dashboard/containers/DashboardPage.tsx     |     3 +-
 .../src/dashboard/reducers/dashboardInfo.test.ts   |    24 +-
 .../src/dashboard/reducers/dashboardInfo.ts        |     4 +-
 .../src/dashboard/reducers/nativeFilters.ts        |     5 +-
 superset-frontend/src/dashboard/types.ts           |    19 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |    17 +-
 superset-frontend/src/dashboard/util/constants.ts  |     1 +
 .../util/getFormDataWithExtraFilters.test.ts       |    43 +
 .../src/dashboard/util/getRelatedCharts.test.ts    |    65 +-
 .../src/dashboard/util/getRelatedCharts.ts         |    17 +-
 .../src/dashboard/util/permissionUtils.test.ts     |   190 +-
 .../src/dashboard/util/permissionUtils.ts          |    25 +-
 .../src/dashboard/util/risonFilters.ts             |     6 +-
 superset-frontend/src/dataMask/reducer.ts          |     2 +-
 .../src/explore/actions/hydrateExplore.ts          |    13 +-
 .../src/explore/actions/saveModalActions.test.ts   |    36 +-
 .../src/explore/actions/saveModalActions.ts        |     8 +-
 .../explore/components/ControlPanelsContainer.tsx  |     8 +-
 .../explore/components/DataTableControl/index.tsx  |     2 +-
 .../DatasourcePanelDragOption/index.tsx            |     2 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |     8 +-
 .../components/ExploreChartHeader/index.tsx        |    12 +-
 .../ExploreChartHeader/useExploreMetadataBar.tsx   |     4 +-
 .../ExploreContainer/ExploreDndContext.tsx         |    61 +
 .../ExploreViewContainer.test.tsx                  |   185 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |    64 +-
 .../explore/components/PropertiesModal/index.tsx   |   178 +-
 .../src/explore/components/SaveModal.test.tsx      |    48 +-
 .../src/explore/components/SaveModal.tsx           |    33 +-
 .../CollectionControl/CollectionControl.test.tsx   |     8 +
 .../controls/CollectionControl/index.tsx           |    35 +-
 .../controls/ColumnConfigControl/types.ts          |     4 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |    12 +-
 .../controls/DatasourceControl/index.tsx           |    12 +-
 .../components/controls/DateFilterControl/types.ts |    22 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |     3 +-
 .../index.tsx                                      |     5 +-
 .../LayerConfigsPopoverContent.tsx                 |     3 +-
 .../SelectAsyncControl/SelectAsyncControl.test.tsx |     6 +-
 .../explore/components/controls/SelectControl.tsx  |     3 +-
 .../components/controls/TextAreaControl.tsx        |    16 +-
 .../components/controls/TextControl/index.tsx      |     4 +-
 .../components/controls/VerticalRadioControl.tsx   |     8 +-
 .../components/controls/ViewQueryModal.test.tsx    |   100 +
 .../explore/components/controls/ViewQueryModal.tsx |    60 +-
 .../components/controls/ViewportControl.tsx        |     1 +
 .../components/controls/VizTypeControl/VizTile.tsx |    50 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |     2 +-
 .../components/controls/VizTypeControl/index.tsx   |     1 -
 .../useExploreAdditionalActionsMenu/index.tsx      |     4 +-
 .../explore/controlUtils/standardizedFormData.ts   |     3 +-
 superset-frontend/src/explore/fixtures.tsx         |     2 +-
 .../src/explore/reducers/exploreReducer.ts         |    30 +-
 superset-frontend/src/explore/types.ts             |     9 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |   151 +-
 .../src/features/alerts/AlertReportModal.tsx       |   171 +-
 .../alerts/components/NotificationMethod.test.tsx  |   233 +
 .../alerts/components/NotificationMethod.tsx       |   248 +-
 superset-frontend/src/features/alerts/types.ts     |     4 +-
 .../AllEntitiesTable.subdirectory.test.tsx         |     6 +-
 .../features/allEntities/AllEntitiesTable.test.tsx |    10 +-
 .../src/features/allEntities/AllEntitiesTable.tsx  |    15 +-
 .../src/features/charts/ChartCard.tsx              |     5 +-
 .../src/features/cssTemplates/types.ts             |     6 +-
 .../src/features/dashboards/DashboardCard.test.tsx |    15 +-
 .../src/features/dashboards/DashboardCard.tsx      |     5 +-
 .../DatabaseConnectionForm/EncryptedField.test.tsx |   142 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |    73 +-
 .../DatabaseConnectionForm/TableCatalog.tsx        |     1 +
 .../databases/DatabaseModal/ExtraOptions.test.tsx  |    68 +
 .../databases/DatabaseModal/ExtraOptions.tsx       |    36 +-
 .../databases/DatabaseModal/ModalHeader.test.tsx   |    58 +
 .../databases/DatabaseModal/ModalHeader.tsx        |    21 +-
 .../databases/DatabaseModal/index.test.tsx         |    75 +-
 .../src/features/databases/DatabaseModal/index.tsx |    16 +-
 .../src/features/databases/DatabaseModal/styles.ts |    31 +-
 .../databases/UploadDataModel/ColumnsPreview.tsx   |     4 +-
 .../features/databases/UploadDataModel/index.tsx   |    11 +-
 superset-frontend/src/features/databases/types.ts  |     3 +-
 .../DatasetPanel.subdirectory.test.tsx             |     2 +-
 .../datasets/AddDataset/DatasetPanel/fixtures.ts   |     2 +-
 .../datasets/AddDataset/Footer/Footer.test.tsx     |     4 +-
 .../src/features/datasets/AddDataset/types.tsx     |     3 +-
 .../features/datasets/DatasetSelectLabel/index.tsx |    24 +-
 .../datasets/DuplicateDatasetModal.test.tsx        |     5 +-
 .../datasets/hooks/useDatasetLists.test.ts         |    10 +-
 .../src/features/datasets/hooks/useDatasetLists.ts |    10 +-
 .../DatasetMetadataBar.skipped-stories.tsx         |    17 +-
 .../metadataBar/useDatasetMetadataBar.test.tsx     |    18 +-
 .../datasets/metadataBar/useDatasetMetadataBar.tsx |    13 +-
 superset-frontend/src/features/datasets/types.ts   |     4 +-
 .../src/features/home/ActivityTable.tsx            |     6 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    12 +-
 .../src/features/home/SavedQueries.tsx             |     1 -
 .../OwnerSelectLabel/OwnerSelectLabel.test.tsx     |    38 -
 .../HeaderReportDropdown/index.test.tsx            |     2 +-
 .../reports/ReportModal/ReportModal.test.tsx       |   109 +-
 .../src/features/reports/ReportModal/index.tsx     |    12 +-
 .../features/reports/ReportModal/reducer.test.ts   |     2 +-
 superset-frontend/src/features/reports/types.ts    |     2 +-
 .../features/rls/RowLevelSecurityModal.test.tsx    |    55 +-
 .../src/features/rls/RowLevelSecurityModal.tsx     |   217 +-
 superset-frontend/src/features/rls/types.ts        |    15 +-
 .../src/features/semanticLayers/label.ts           |    12 +
 .../SubjectPicker/SubjectPicker.stories.tsx        |   169 +
 .../subjects/SubjectPicker/SubjectPicker.test.tsx  |   293 +
 .../src/features/subjects/SubjectPicker/index.tsx  |   139 +
 .../src/features/subjects/SubjectPicker/utils.ts   |   200 +
 .../subjects/SubjectPile/SubjectPile.stories.tsx   |    74 +
 .../subjects/SubjectPile/SubjectPile.test.tsx      |   103 +
 .../src/features/subjects/SubjectPile/index.tsx    |   142 +
 .../SubjectSelectLabel.stories.tsx                 |   115 +
 .../SubjectSelectLabel}/index.tsx                  |    55 +-
 superset-frontend/src/features/themes/types.ts     |     6 +-
 .../TimeGrainPreFilter.integration.test.tsx        |     4 +-
 superset-frontend/src/hooks/apiResources/charts.ts |    16 +-
 .../src/hooks/apiResources/dashboards.test.ts      |     2 +-
 .../src/hooks/apiResources/dashboards.ts           |     7 +-
 .../src/hooks/apiResources/queries.ts              |     2 +-
 .../src/middleware/loggerMiddleware.ts             |     6 +-
 .../pages/AlertReportList/AlertReportList.test.tsx |    66 +-
 .../src/pages/AlertReportList/index.tsx            |    51 +-
 superset-frontend/src/pages/AllEntities/index.tsx  |    14 +-
 superset-frontend/src/pages/Chart/index.tsx        |    11 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |    12 +-
 .../src/pages/ChartList/ChartList.test.tsx         |    14 +-
 .../src/pages/ChartList/ChartList.testHelpers.tsx  |    48 +-
 superset-frontend/src/pages/ChartList/index.tsx    |    71 +-
 .../DashboardList/DashboardList.behavior.test.tsx  |    10 +-
 .../DashboardList/DashboardList.listview.test.tsx  |     2 +-
 .../src/pages/DashboardList/DashboardList.test.tsx |    18 +-
 .../DashboardList/DashboardList.testHelpers.tsx    |    42 +-
 .../src/pages/DashboardList/index.tsx              |    96 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |     4 +-
 .../DatasetList/DatasetList.listview.test.tsx      |    60 +-
 .../DatasetList/DatasetList.permissions.test.tsx   |     3 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |    13 +-
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |    40 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |    48 +-
 .../FileHandler/FileHandler.subdirectory.test.tsx  |     4 +-
 .../src/pages/FileHandler/index.test.tsx           |     4 +-
 superset-frontend/src/pages/Home/index.tsx         |     8 +-
 .../src/pages/QueryHistoryList/index.tsx           |     4 +-
 .../RowLevelSecurityList.test.tsx                  |    82 +-
 .../src/pages/RowLevelSecurityList/index.tsx       |    45 +-
 .../src/pages/SavedQueryList/index.tsx             |     6 +-
 superset-frontend/src/pages/Tags/index.tsx         |    21 +-
 superset-frontend/src/pages/TaskList/index.tsx     |    12 +-
 superset-frontend/src/preamble.ts                  |    71 +-
 superset-frontend/src/setup/setupApp.ts            |     3 +-
 superset-frontend/src/theme/ThemeController.ts     |    28 +-
 .../src/theme/tests/ThemeController.test.ts        |    95 +
 .../src/theme/utils/antdTokenNames.ts              |     7 +
 superset-frontend/src/types/Chart.ts               |     8 +-
 superset-frontend/src/types/Dashboard.ts           |    11 +-
 superset-frontend/src/types/Dataset.ts             |     4 +-
 .../FacePile/types.ts => types/Subject.ts}         |    22 +-
 superset-frontend/src/types/TaggedObject.ts        |     4 +-
 superset-frontend/src/types/{Owner.ts => User.ts}  |     5 +-
 superset-frontend/src/types/bootstrapTypes.ts      |     5 +
 superset-frontend/src/utils/downloadAsImage.tsx    |     1 -
 .../{getOwnerName.test.ts => getUserName.test.ts}  |    18 +-
 .../src/utils/{getOwnerName.ts => getUserName.ts}  |    10 +-
 superset-frontend/src/views/CRUD/hooks.ts          |     9 +-
 superset-frontend/src/views/CRUD/types.ts          |    21 +-
 superset-frontend/src/views/CRUD/utils.test.tsx    |    12 +-
 superset-frontend/src/views/CRUD/utils.tsx         |   102 +-
 .../src/visualizations/TimeTable/TimeTable.tsx     |     2 +-
 .../mockReportState.js => stylelint.config.js}     |    34 +-
 .../{eslint.config.js => eslint.config.mjs}        |    17 +-
 superset-websocket/package-lock.json               |   355 +-
 superset-websocket/package.json                    |    20 +-
 superset-websocket/src/config.ts                   |     7 +-
 superset-websocket/src/index.ts                    |     8 +-
 superset-websocket/tsconfig.json                   |     5 +-
 superset/charts/api.py                             |   357 +-
 superset/charts/data/api.py                        |    10 +
 superset/charts/data/dashboard_filter_context.py   |     2 +-
 superset/charts/filters.py                         |   125 +-
 superset/charts/schemas.py                         |    23 +-
 superset/cli/sync_subjects.py                      |   108 +
 superset/cli/thumbnails.py                         |    30 +-
 superset/commands/base.py                          |    45 +-
 superset/commands/chart/create.py                  |    14 +-
 superset/commands/chart/delete.py                  |     4 +-
 superset/commands/chart/exceptions.py              |    10 +
 superset/commands/chart/importers/v1/utils.py      |   155 +-
 .../commands/chart/restore.py                      |    36 +-
 superset/commands/chart/update.py                  |    36 +-
 superset/commands/dashboard/copy.py                |    19 +-
 superset/commands/dashboard/create.py              |    21 +-
 superset/commands/dashboard/delete.py              |     6 +-
 superset/commands/dashboard/export.py              |    10 -
 .../commands/dashboard/importers/v1/__init__.py    |    62 +-
 superset/commands/dashboard/importers/v1/utils.py  |    65 +-
 superset/commands/dashboard/update.py              |    90 +-
 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       |    40 +-
 superset/commands/dataset/columns/delete.py        |     4 +-
 superset/commands/dataset/create.py                |    21 +-
 superset/commands/dataset/delete.py                |     4 +-
 superset/commands/dataset/duplicate.py             |    98 +-
 superset/commands/dataset/exceptions.py            |    48 +-
 superset/commands/dataset/importers/v1/utils.py    |   252 +-
 superset/commands/dataset/metrics/delete.py        |     4 +-
 superset/commands/dataset/refresh.py               |     4 +-
 superset/commands/dataset/restore.py               |    60 +
 superset/commands/dataset/update.py                |    15 +-
 superset/commands/exceptions.py                    |    14 -
 superset/commands/explore/get.py                   |    14 +-
 superset/commands/export/assets.py                 |   162 +-
 superset/commands/importers/v1/__init__.py         |    13 +
 superset/commands/importers/v1/assets.py           |    44 +-
 superset/commands/importers/v1/utils.py            |    36 +-
 superset/commands/report/create.py                 |    18 +-
 superset/commands/report/delete.py                 |     4 +-
 superset/commands/report/exceptions.py             |    14 +
 superset/commands/report/execute.py                |   189 +-
 superset/commands/report/execute_now.py            |     2 +-
 superset/commands/report/update.py                 |    22 +-
 superset/commands/restore.py                       |    19 +-
 superset/commands/security/create.py               |    25 +-
 superset/commands/security/reset.py                |    14 +
 superset/commands/security/update.py               |    33 +-
 superset/commands/semantic_layer/delete.py         |     4 +-
 superset/commands/semantic_layer/update.py         |     2 +-
 superset/commands/tag/export.py                    |     2 +-
 superset/commands/tag/utils.py                     |     8 +-
 superset/commands/tasks/update.py                  |     2 +-
 superset/commands/utils.py                         |   193 +-
 superset/common/tags.py                            |    20 +-
 superset/config.py                                 |   159 +-
 superset/connectors/sqla/models.py                 |   122 +-
 superset/constants.py                              |     2 +
 superset/core/api/core_api_injection.py            |    16 +-
 superset/css_templates/api.py                      |     4 +-
 superset/daos/chart.py                             |    42 +-
 superset/daos/dashboard.py                         |    96 +-
 superset/daos/dataset.py                           |   434 +-
 superset/daos/datasource.py                        |    13 +-
 superset/daos/group.py                             |    65 +
 superset/daos/report.py                            |    43 +-
 superset/daos/role.py                              |    43 +-
 superset/daos/semantic_layer.py                    |    34 +
 superset/daos/{role.py => subject.py}              |    16 +-
 superset/daos/tag.py                               |     6 +-
 superset/daos/user.py                              |    40 +
 superset/daos/version.py                           |    69 +
 superset/dashboards/api.py                         |   269 +-
 superset/dashboards/filters.py                     |   185 +-
 superset/dashboards/schemas.py                     |    47 +-
 superset/databases/api.py                          |    54 +-
 superset/databases/schemas.py                      |    70 +-
 superset/datasets/api.py                           |   422 +-
 superset/datasets/filters.py                       |    29 +
 superset/datasets/schemas.py                       |     7 +-
 superset/datasource/schemas.py                     |    19 +-
 superset/db_engine_specs/clickhouse.py             |     7 +-
 superset/db_engine_specs/databend.py               |    76 +-
 superset/examples/birth_names.py                   |    42 +-
 superset/explorables/base.py                       |     2 +-
 superset/explore/schemas.py                        |    12 +-
 superset/explore/utils.py                          |     2 +-
 superset/extensions/__init__.py                    |    25 +
 superset/initialization/__init__.py                |   237 +
 superset/marshmallow_compatibility.py              |    14 +-
 superset/mcp_service/ARCHITECTURE.md               |     2 +-
 superset/mcp_service/CLAUDE.md                     |    22 +-
 superset/mcp_service/SECURITY.md                   |    52 +-
 superset/mcp_service/app.py                        |    79 +-
 superset/mcp_service/auth.py                       |   170 +-
 superset/mcp_service/chart/chart_utils.py          |   112 +-
 superset/mcp_service/chart/plugins/big_number.py   |     2 +-
 superset/mcp_service/chart/schemas.py              |   197 +-
 superset/mcp_service/chart/tool/__init__.py        |     2 +
 superset/mcp_service/chart/tool/delete_chart.py    |   186 +
 superset/mcp_service/chart/tool/generate_chart.py  |     9 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    62 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    12 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |    19 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |    10 +
 superset/mcp_service/chart/tool/list_charts.py     |     2 +-
 superset/mcp_service/common/cache_schemas.py       |    24 +-
 superset/mcp_service/common/schema_discovery.py    |    12 +-
 superset/mcp_service/composite_token_verifier.py   |    42 +-
 superset/mcp_service/dashboard/schemas.py          |    95 +-
 superset/mcp_service/dashboard/tool/__init__.py    |     2 +
 .../tool/add_chart_to_existing_dashboard.py        |    16 +-
 .../mcp_service/dashboard/tool/delete_dashboard.py |   235 +
 .../dashboard/tool/duplicate_dashboard.py          |     6 +-
 .../dashboard/tool/generate_dashboard.py           |    16 +-
 .../dashboard/tool/get_dashboard_info.py           |     6 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |     2 +-
 .../dashboard/tool/manage_native_filters.py        |     6 +-
 .../dashboard/tool/remove_chart_from_dashboard.py  |    12 +-
 .../mcp_service/dashboard/tool/update_dashboard.py |     4 +-
 superset/mcp_service/dataset/schemas.py            |    29 +-
 .../mcp_service/dataset/tool/create_dataset.py     |    74 +-
 .../dataset/tool/create_virtual_dataset.py         |    15 +
 superset/mcp_service/dataset/tool/list_datasets.py |     2 +-
 superset/mcp_service/dataset/tool/query_dataset.py |    83 +-
 superset/mcp_service/guest_scope.py                |    72 +
 superset/mcp_service/guest_token_verifier.py       |   180 +
 superset/mcp_service/mcp_config.py                 |   156 +-
 superset/mcp_service/mcp_core.py                   |    22 +-
 superset/mcp_service/privacy.py                    |    27 +-
 superset/mcp_service/report/schemas.py             |    29 +-
 .../mcp_service/report/tool/get_report_info.py     |     2 +-
 superset/mcp_service/report/tool/list_reports.py   |     4 +-
 superset/mcp_service/rls/schemas.py                |    28 +-
 .../mcp_service/rls/tool/get_rls_filter_info.py    |    12 +-
 superset/mcp_service/rls/tool/list_rls_filters.py  |    30 +-
 superset/mcp_service/role/schemas.py               |    53 +-
 superset/mcp_service/role/tool/get_role_info.py    |     4 +
 superset/mcp_service/role/tool/list_roles.py       |     4 +
 .../mcp_service/semantic_layer}/__init__.py        |     0
 superset/mcp_service/semantic_layer/schemas.py     |   302 +
 .../semantic_layer/tool/__init__.py}               |    21 +-
 .../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/system/schemas.py             |    26 +
 superset/mcp_service/tag/schemas.py                |     2 +-
 superset/mcp_service/tag/tool/get_tag_info.py      |     2 +-
 superset/mcp_service/tag/tool/list_tags.py         |     2 +-
 .../role.py => mcp_service/theme/__init__.py}      |    15 +-
 superset/mcp_service/{tag => theme}/schemas.py     |   158 +-
 .../role.py => mcp_service/theme/tool/__init__.py} |    18 +-
 superset/mcp_service/theme/tool/create_theme.py    |   159 +
 .../tool/get_theme_info.py}                        |    65 +-
 .../list_tags.py => theme/tool/list_themes.py}     |   104 +-
 superset/mcp_service/user/schemas.py               |    45 +-
 superset/mcp_service/user/tool/get_user_info.py    |     4 +
 superset/mcp_service/user/tool/list_users.py       |     4 +
 superset/mcp_service/utils/query_utils.py          |    57 +
 superset/mcp_service/utils/response_utils.py       |    58 +-
 superset/middleware/legacy_prefix_redirect.py      |    42 +-
 ...03-23_10-00_b1c2d3e4f5a6_add_subjects_tables.py |   944 ++
 ..._12-00_7c4a8d09ca37_add_deleted_at_to_slices.py |    52 +
 ..._12-10_3a8e6f2c1b95_add_deleted_at_to_tables.py |    58 +
 ...-28_19-50_56cd24c07170_add_versioning_tables.py |   574 +
 ...3_12-00_8f3a1b2c4d5e_shadow_live_row_indexes.py |   180 +
 superset/models/dashboard.py                       |    96 +-
 superset/models/helpers.py                         |   175 +-
 superset/models/slice.py                           |    87 +-
 superset/models/sql_lab.py                         |    27 +-
 superset/queries/api.py                            |    13 +-
 superset/queries/saved_queries/api.py              |     6 +-
 superset/reports/api.py                            |    48 +-
 superset/reports/filters.py                        |    20 +-
 superset/reports/models.py                         |    27 +-
 superset/reports/schemas.py                        |    13 +-
 superset/row_level_security/api.py                 |    48 +-
 superset/row_level_security/schemas.py             |    39 +-
 superset/security/manager.py                       |   554 +-
 superset/semantic_layers/api.py                    |     9 +-
 superset/semantic_layers/mapper.py                 |   176 +-
 superset/semantic_layers/models.py                 |    14 +-
 superset/sql/parse.py                              |    29 +-
 .../common => superset/subjects}/__init__.py       |     0
 superset/subjects/api.py                           |   123 +
 superset/{daos/role.py => subjects/exceptions.py}  |    15 +-
 superset/subjects/filters.py                       |   263 +
 superset/subjects/hooks.py                         |    83 +
 superset/subjects/models.py                        |   203 +
 superset/subjects/schemas.py                       |    51 +
 superset/subjects/sync.py                          |   143 +
 superset/{daos/role.py => subjects/types.py}       |    16 +-
 superset/subjects/utils.py                         |   169 +
 superset/superset_typing.py                        |     4 +-
 superset/tags/api.py                               |    30 +-
 superset/tags/filters.py                           |    30 +-
 superset/tags/models.py                            |    67 +-
 superset/tags/schemas.py                           |     3 +-
 superset/tasks/api.py                              |     9 +-
 superset/tasks/cache.py                            |   208 +-
 superset/tasks/native_filter_cache.py              |   245 +
 superset/tasks/types.py                            |    18 +-
 superset/tasks/utils.py                            |   119 +-
 superset/templates/superset/spa.html               |    30 +
 superset/themes/api.py                             |    28 +-
 superset/themes/schemas.py                         |    41 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |    43 +
 superset/translations/ca/LC_MESSAGES/messages.po   |   423 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   410 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   441 +-
 superset/translations/do-not-translate.txt         |    59 +
 superset/translations/en/LC_MESSAGES/messages.po   |   346 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   423 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |   409 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   553 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  4673 +++----
 superset/translations/it/LC_MESSAGES/messages.po   | 13043 +++++++------------
 superset/translations/ja/LC_MESSAGES/messages.po   |   389 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |    43 +
 superset/translations/lv/LC_MESSAGES/messages.po   |   416 +-
 superset/translations/messages.pot                 |   371 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |   418 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   423 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |   432 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |    43 +
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   412 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |  3002 ++++-
 superset/translations/ru/LC_MESSAGES/messages.po   |   407 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   410 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   423 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |  3580 ++---
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |  3633 +++---
 superset/translations/th/LC_MESSAGES/messages.po   |   541 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   370 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   415 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |    43 +
 .../translations/zh_TW/LC_MESSAGES/messages.po     |    43 +
 superset/utils/core.py                             |     6 +-
 superset/utils/csv.py                              |    48 +-
 superset/utils/filters.py                          |    53 +-
 .../utils/pandas_postprocessing/contribution.py    |     4 +-
 superset/utils/urls.py                             |    34 +-
 .../common => superset/versioning}/__init__.py     |     0
 superset/versioning/api_helpers.py                 |   219 +
 superset/versioning/baseline/__init__.py           |    69 +
 superset/versioning/baseline/children.py           |   212 +
 superset/versioning/baseline/collection.py         |   153 +
 superset/versioning/baseline/dirty.py              |   243 +
 superset/versioning/baseline/insertion.py          |   150 +
 superset/versioning/baseline/listener.py           |   132 +
 superset/versioning/baseline/shadow.py             |    92 +
 superset/versioning/changes/__init__.py            |    76 +
 superset/versioning/changes/listener.py            |   433 +
 superset/versioning/changes/shadow_queries.py      |   323 +
 superset/versioning/changes/state.py               |   233 +
 superset/versioning/changes/table.py               |    90 +
 superset/versioning/diff.py                        |  1111 ++
 superset/versioning/etag.py                        |    78 +
 superset/versioning/factory.py                     |   312 +
 superset/versioning/queries.py                     |   518 +
 superset/versioning/schemas.py                     |   152 +
 superset/versioning/utils.py                       |    50 +
 superset/views/base.py                             |    81 +-
 superset/views/base_api.py                         |    10 +-
 superset/views/core.py                             |    31 +-
 superset/views/dashboard/mixin.py                  |    17 +-
 superset/views/dashboard/views.py                  |     9 +-
 superset/views/datasource/views.py                 |    14 +-
 superset/views/filters.py                          |    67 +-
 superset/views/sql_lab/views.py                    |    44 +-
 superset/views/users/api.py                        |     4 +-
 .../example_data/data_loading/base_data_loader.py  |     2 +-
 tests/integration_tests/base_api_tests.py          |   402 +-
 tests/integration_tests/base_tests.py              |    65 +-
 tests/integration_tests/charts/api_tests.py        |   147 +-
 tests/integration_tests/charts/commands_tests.py   |    49 +-
 tests/integration_tests/charts/data/api_tests.py   |     4 +-
 .../integration_tests/charts/soft_delete_tests.py  |   579 +
 tests/integration_tests/commands_test.py           |     5 +-
 tests/integration_tests/core_tests.py              |    17 +-
 tests/integration_tests/dao/base_dao_test.py       |    86 +-
 tests/integration_tests/dashboard_tests.py         |     8 +-
 tests/integration_tests/dashboard_utils.py         |    29 +-
 tests/integration_tests/dashboards/api_tests.py    |   315 +-
 .../integration_tests/dashboards/commands_tests.py |    24 +-
 tests/integration_tests/dashboards/dao_tests.py    |    33 +-
 .../dashboards/dashboard_test_utils.py             |    22 +-
 .../dashboards/security/security_dataset_tests.py  |     6 +-
 .../dashboards/security/security_rbac_tests.py     |   533 -
 .../dashboards/soft_delete_tests.py                |    52 +-
 .../dashboards/superset_factory_util.py            |   102 +-
 .../dashboards/test_theme_integration.py           |     8 +-
 .../dashboards/update_tabs_test.py                 |    33 +-
 .../databases/commands/upload_test.py              |     3 +-
 tests/integration_tests/datasets/api_tests.py      |   388 +-
 tests/integration_tests/datasets/commands_tests.py |    17 +-
 .../datasets/soft_delete_tests.py                  |   605 +
 tests/integration_tests/datasource_tests.py        |    23 +-
 .../integration_tests/fixtures/tabbed_dashboard.py |    15 +
 tests/integration_tests/import_export_tests.py     |    26 +-
 tests/integration_tests/insert_chart_mixin.py      |    21 +-
 .../queries/saved_queries/api_tests.py             |     5 +-
 tests/integration_tests/query_context_tests.py     |     4 +
 tests/integration_tests/reports/alert_tests.py     |    50 +-
 tests/integration_tests/reports/api_tests.py       |    94 +-
 tests/integration_tests/reports/commands_tests.py  |    10 +-
 tests/integration_tests/reports/scheduler_tests.py |    40 +-
 tests/integration_tests/reports/utils.py           |    43 +-
 .../security/row_level_security_tests.py           |  1553 ++-
 tests/integration_tests/security_tests.py          |   322 +-
 tests/integration_tests/sqla_models_tests.py       |    15 +-
 .../integration_tests/subjects}/__init__.py        |     0
 tests/integration_tests/subjects/api_tests.py      |   142 +
 tests/integration_tests/superset_test_config.py    |     9 +-
 tests/integration_tests/tagging_tests.py           |     8 +-
 tests/integration_tests/tags/api_tests.py          |    68 +-
 .../tags/mysql_compatibility_test.py               |     2 +-
 .../integration_tests/versioning}/__init__.py      |     0
 .../versioning/capture_disabled_tests.py           |   171 +
 tests/integration_tests/versioning/conftest.py     |    94 +
 .../versioning/snapshot_projection_tests.py        |    70 +
 .../versioning/transaction_correctness_tests.py    |   224 +
 .../versioning/versions_api_tests.py               |   458 +
 .../charts/commands/importers/v1/import_test.py    |   181 +
 tests/unit_tests/charts/test_filters.py            |   180 +
 tests/unit_tests/cli/thumbnails_test.py            |    79 +
 tests/unit_tests/commands/chart/restore_test.py    |    90 +
 .../commands/chart/test_access_checks.py           |    46 +-
 tests/unit_tests/commands/chart/update_test.py     |    78 +-
 tests/unit_tests/commands/dashboard/create_test.py |    68 +-
 tests/unit_tests/commands/dashboard/export_test.py |    57 +-
 .../unit_tests/commands/dashboard/restore_test.py  |    10 +-
 .../commands/databases/sync_permissions_test.py    |    46 +
 .../commands/databases/upload_command_test.py      |    93 +
 tests/unit_tests/commands/dataset/restore_test.py  |   181 +
 tests/unit_tests/commands/dataset/test_create.py   |    85 +-
 .../unit_tests/commands/dataset/test_duplicate.py  |   480 +-
 tests/unit_tests/commands/dataset/update_test.py   |    35 +-
 tests/unit_tests/commands/report/create_test.py    |     2 +-
 tests/unit_tests/commands/report/execute_test.py   |   397 +-
 .../unit_tests/commands/report/test_execute_now.py |    12 +-
 tests/unit_tests/commands/report/update_test.py    |    18 +-
 tests/unit_tests/commands/security/rls_test.py     |    93 +-
 .../commands/semantic_layer/delete_test.py         |     8 +-
 .../commands/semantic_layer/update_test.py         |     4 +-
 .../commands/test_base_restore_command.py          |    40 +-
 tests/unit_tests/commands/test_utils.py            |   138 +-
 tests/unit_tests/common/test_time_shifts.py        |    54 +
 tests/unit_tests/connectors/sqla/models_test.py    |    31 -
 tests/unit_tests/connectors/sqla/utils_test.py     |    74 +
 tests/unit_tests/dao/dashboard_test.py             |   119 +
 tests/unit_tests/dao/dataset_test.py               |   247 +
 tests/unit_tests/dao/datasource_test.py            |    59 +
 tests/unit_tests/dao/group_test.py                 |    81 +
 tests/unit_tests/dao/role_test.py                  |    81 +
 tests/unit_tests/dao/subject_test.py               |    61 +
 tests/unit_tests/dao/user_test.py                  |    74 +
 .../daos/test_base_relationship_filters.py         |     8 +-
 tests/unit_tests/dashboards/api_test.py            |    40 +-
 .../commands/importers/v1/import_test.py           |    44 +-
 tests/unit_tests/dashboards/schema_tests.py        |     4 +-
 tests/unit_tests/databases/commands/delete_test.py |   129 +
 .../databases/commands/importers/v1/import_test.py |     6 +-
 tests/unit_tests/databases/schema_tests.py         |   273 +-
 .../datasets/commands/importers/v1/import_test.py  |   560 +-
 .../unit_tests/db_engine_specs/test_clickhouse.py  |    26 +-
 tests/unit_tests/db_engine_specs/test_databend.py  |    37 +
 tests/unit_tests/examples/generic_loader_test.py   |     4 +-
 tests/unit_tests/explore/utils_test.py             |    16 +-
 tests/unit_tests/initialization_test.py            |    98 +
 .../mcp_service/chart/test_big_number_chart.py     |   121 +
 .../chart/test_chart_config_coercion.py            |   279 +
 .../mcp_service/chart/test_chart_utils.py          |    84 +-
 .../mcp_service/chart/tool/test_delete_chart.py    |   229 +
 .../mcp_service/chart/tool/test_generate_chart.py  |    13 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |    31 +-
 .../mcp_service/chart/tool/test_get_chart_info.py  |    19 +
 .../chart/tool/test_get_chart_preview.py           |    36 +-
 .../mcp_service/chart/tool/test_get_chart_sql.py   |    18 +
 .../mcp_service/chart/tool/test_list_charts.py     |     5 +-
 .../dashboard/test_dashboard_schemas.py            |     8 +-
 .../tool/test_add_chart_to_existing_dashboard.py   |    29 +-
 .../dashboard/tool/test_dashboard_generation.py    |   101 +-
 .../dashboard/tool/test_dashboard_tools.py         |    97 +-
 .../dashboard/tool/test_delete_dashboard.py        |   254 +
 .../dashboard/tool/test_duplicate_dashboard.py     |    13 +-
 .../tool/test_remove_chart_from_dashboard.py       |    67 +-
 .../dashboard/tool/test_update_dashboard.py        |    14 +-
 .../database/tool/test_database_tools.py           |     2 +-
 .../dataset/tool/test_create_dataset.py            |    36 +-
 .../mcp_service/dataset/tool/test_dataset_tools.py |    78 +-
 .../mcp_service/report/tool/test_report_tools.py   |    37 +-
 .../mcp_service/rls/tool/test_rls_tools.py         |    69 +-
 .../mcp_service/role/tool/test_role_tools.py       |    49 +
 .../saved_query/tool/test_saved_query_tools.py     |     2 +-
 .../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       |   311 +
 .../system/tool/test_generate_bug_report.py        |     2 +-
 .../system/tool/test_get_current_user.py           |     5 +-
 .../mcp_service/system/tool/test_get_schema.py     |    48 +-
 .../mcp_service/system/tool/test_mcp_core.py       |    22 +-
 .../mcp_service/tag/tool/test_tag_tools.py         |     4 +-
 tests/unit_tests/mcp_service/test_auth_rbac.py     |    66 +
 tests/unit_tests/mcp_service/test_guest_scope.py   |   121 +
 .../mcp_service/test_guest_token_auth.py           |   685 +
 tests/unit_tests/mcp_service/test_mcp_config.py    |     2 +-
 tests/unit_tests/mcp_service/test_mcp_server.py    |    29 +
 tests/unit_tests/mcp_service/test_privacy.py       |    58 +-
 .../mcp_service/test_schema_discovery.py           |     6 +-
 .../unit_tests/mcp_service/theme}/__init__.py      |     0
 .../unit_tests/mcp_service/theme/tool}/__init__.py |     0
 .../mcp_service/theme/tool/test_create_theme.py    |   260 +
 .../mcp_service/theme/tool/test_get_theme_info.py  |   133 +
 .../mcp_service/theme/tool/test_list_themes.py     |   128 +
 tests/unit_tests/mcp_service/user/test_schemas.py  |   153 +
 .../mcp_service/utils/test_permissions_utils.py    |     7 +-
 .../mcp_service/utils/test_query_utils.py          |    96 +
 .../mcp_service/utils/test_response_utils.py       |   109 +
 .../mcp_service/utils/test_token_utils.py          |     2 +-
 .../middleware/test_legacy_prefix_redirect.py      |    75 +-
 .../migrations/test_add_deleted_at_to_slices.py    |   190 +
 .../migrations/test_add_deleted_at_to_tables.py    |   189 +
 tests/unit_tests/models/helpers_test.py            |   264 +-
 .../models/multi_space_column_names_test.py        |   164 +
 .../models/owner_association_tables_test.py        |   106 +
 tests/unit_tests/models/sql_lab_test.py            |    97 +
 tests/unit_tests/models/test_soft_delete_mixin.py  |     4 +-
 .../models/test_time_filter_hour_offset.py         |    99 +
 .../pandas_postprocessing/test_contribution.py     |    33 +
 .../reports/notifications/email_tests.py           |     6 +-
 .../reports/notifications/slack_tests.py           |     2 +-
 .../reports/notifications/webhook_tests.py         |     2 +-
 tests/unit_tests/row_level_security/schema_test.py |    23 +-
 .../scripts/translations/backfill_po_test.py       |    98 +
 tests/unit_tests/security/audit_log_test.py        |    24 +-
 tests/unit_tests/security/manager_test.py          |    63 +-
 tests/unit_tests/security/test_permission_hooks.py |   156 -
 tests/unit_tests/semantic_layers/api_test.py       |     3 +
 tests/unit_tests/semantic_layers/dao_test.py       |   205 +
 tests/unit_tests/semantic_layers/mapper_test.py    |   429 +-
 tests/unit_tests/semantic_layers/models_test.py    |   107 +
 tests/unit_tests/sql/parse_tests.py                |   125 +-
 .../unit_tests/subjects}/__init__.py               |     0
 tests/unit_tests/subjects/test_copy_command.py     |    94 +
 tests/unit_tests/subjects/test_filters.py          |   321 +
 tests/unit_tests/subjects/test_raise_for_access.py |   403 +
 tests/unit_tests/subjects/test_security.py         |   280 +
 tests/unit_tests/subjects/test_utils.py            |   367 +
 tests/unit_tests/tags/models_test.py               |     2 +-
 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/tasks/test_utils.py               |   383 +-
 tests/unit_tests/test_marshmallow_compatibility.py |   182 +
 tests/unit_tests/themes/api_test.py                |    45 +-
 tests/unit_tests/utils/csv_tests.py                |     3 +
 tests/unit_tests/utils/filters_test.py             |   119 +-
 tests/unit_tests/utils/test_core.py                |    13 +-
 tests/unit_tests/utils/test_date_parsing.py        |    91 +
 tests/unit_tests/utils/urls_tests.py               |    50 +-
 tests/unit_tests/versioning/test_diff_caps.py      |   218 +
 tests/unit_tests/versioning/test_listener.py       |   204 +
 tests/unit_tests/views/datasource/views_test.py    |    28 +-
 tests/unit_tests/views/test_base.py                |     5 +-
 tests/unit_tests/views/test_bootstrap_auth.py      |    93 +-
 998 files changed, 75552 insertions(+), 36222 deletions(-)
 create mode 100644 docs/static/img/logos/camptocamp.svg
 create mode 100644 docs/static/img/logos/craig.png
 create mode 100644 docs/static/img/logos/geo2france.png
 create mode 100644 docs/static/img/logos/geobretagne.svg
 create mode 100644 docs/static/img/logos/georchestra.svg
 create mode 100644 docs/static/img/logos/jDev.svg
 create mode 100644 docs/static/img/logos/mel.jpg
 create mode 100644 docs/static/img/logos/pi-Geosolutions.png
 create mode 100644 docs/static/img/logos/rennes-ville-metropole_noir.svg
 create mode 100644 helm/superset/UPGRADING.md
 create mode 100644 helm/superset/tests/checksum_test.yaml
 create mode 100644 helm/superset/tests/config_test.yaml
 create mode 100644 helm/superset/tests/deprecation_test.yaml
 create mode 100644 helm/superset/tests/initscript_test.yaml
 create mode 100644 helm/superset/tests/secret_env_test.yaml
 create mode 100644 helm/superset/tests/serviceaccount_test.yaml
 create mode 100644 helm/superset/tests/values_defaults_test.yaml
 create mode 100644 helm/superset/values.schema.json
 create mode 100755 scripts/stylelint.sh
 create mode 100644 scripts/translations/apply_do_not_translate.py
 create mode 100644 superset-frontend/.stylelintignore
 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/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/plugin-chart-pivot-table/test/PivotTableChart.test.tsx
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/utilities/tooltipUtils.test.tsx
 create mode 100644 
superset-frontend/src/SqlLab/components/ResultSet/buildResultsGridThemeOverrides.test.ts
 create mode 100644 
superset-frontend/src/SqlLab/components/ResultSet/buildResultsGridThemeOverrides.ts
 delete mode 100644 
superset-frontend/src/components/FacePile/FacePile.stories.tsx
 delete mode 100644 superset-frontend/src/components/FacePile/FacePile.test.tsx
 delete mode 100644 superset-frontend/src/components/FacePile/index.tsx
 delete mode 100644 superset-frontend/src/components/FacePile/utils.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/Header/useHeaderAutoRefresh.test.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/PropertiesModal/hooks/useAccessOptions.ts
 create mode 100644 
superset-frontend/src/dashboard/components/PropertiesModal/sections/AccessSection.stories.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/PropertiesModal/utils.test.ts
 delete mode 100644 
superset-frontend/src/dashboard/components/PropertiesModal/utils.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/transformers/buildTarget.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/transformers/buildTarget.ts
 create mode 100644 
superset-frontend/src/features/databases/DatabaseModal/ModalHeader.test.tsx
 delete mode 100644 
superset-frontend/src/features/owners/OwnerSelectLabel/OwnerSelectLabel.test.tsx
 create mode 100644 
superset-frontend/src/features/subjects/SubjectPicker/SubjectPicker.stories.tsx
 create mode 100644 
superset-frontend/src/features/subjects/SubjectPicker/SubjectPicker.test.tsx
 create mode 100644 
superset-frontend/src/features/subjects/SubjectPicker/index.tsx
 create mode 100644 
superset-frontend/src/features/subjects/SubjectPicker/utils.ts
 create mode 100644 
superset-frontend/src/features/subjects/SubjectPile/SubjectPile.stories.tsx
 create mode 100644 
superset-frontend/src/features/subjects/SubjectPile/SubjectPile.test.tsx
 create mode 100644 
superset-frontend/src/features/subjects/SubjectPile/index.tsx
 create mode 100644 
superset-frontend/src/features/subjects/SubjectSelectLabel/SubjectSelectLabel.stories.tsx
 rename superset-frontend/src/features/{owners/OwnerSelectLabel => 
subjects/SubjectSelectLabel}/index.tsx (56%)
 rename superset-frontend/src/{components/FacePile/types.ts => 
types/Subject.ts} (67%)
 rename superset-frontend/src/types/{Owner.ts => User.ts} (87%)
 rename superset-frontend/src/utils/{getOwnerName.test.ts => 
getUserName.test.ts} (65%)
 rename superset-frontend/src/utils/{getOwnerName.ts => getUserName.ts} (80%)
 copy superset-frontend/{spec/fixtures/mockReportState.js => 
stylelint.config.js} (63%)
 rename superset-websocket/{eslint.config.js => eslint.config.mjs} (75%)
 create mode 100644 superset/cli/sync_subjects.py
 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 100644 superset/daos/group.py
 copy superset/daos/{role.py => subject.py} (73%)
 create mode 100644 superset/daos/version.py
 create mode 100644 superset/mcp_service/chart/tool/delete_chart.py
 create mode 100644 superset/mcp_service/dashboard/tool/delete_dashboard.py
 create mode 100644 superset/mcp_service/guest_scope.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/{daos/role.py => mcp_service/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
 copy superset/{daos/role.py => mcp_service/theme/__init__.py} (75%)
 copy superset/mcp_service/{tag => theme}/schemas.py (56%)
 copy superset/{daos/role.py => mcp_service/theme/tool/__init__.py} (75%)
 create mode 100644 superset/mcp_service/theme/tool/create_theme.py
 copy superset/mcp_service/{tag/tool/get_tag_info.py => 
theme/tool/get_theme_info.py} (55%)
 copy superset/mcp_service/{tag/tool/list_tags.py => theme/tool/list_themes.py} 
(56%)
 create mode 100644 superset/mcp_service/utils/query_utils.py
 create mode 100644 
superset/migrations/versions/2026-03-23_10-00_b1c2d3e4f5a6_add_subjects_tables.py
 create mode 100644 
superset/migrations/versions/2026-05-08_12-00_7c4a8d09ca37_add_deleted_at_to_slices.py
 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-28_19-50_56cd24c07170_add_versioning_tables.py
 create mode 100644 
superset/migrations/versions/2026-06-03_12-00_8f3a1b2c4d5e_shadow_live_row_indexes.py
 copy {superset-core/src/superset_core/common => superset/subjects}/__init__.py 
(100%)
 create mode 100644 superset/subjects/api.py
 copy superset/{daos/role.py => subjects/exceptions.py} (72%)
 create mode 100644 superset/subjects/filters.py
 create mode 100644 superset/subjects/hooks.py
 create mode 100644 superset/subjects/models.py
 create mode 100644 superset/subjects/schemas.py
 create mode 100644 superset/subjects/sync.py
 copy superset/{daos/role.py => subjects/types.py} (75%)
 create mode 100644 superset/subjects/utils.py
 create mode 100644 superset/tasks/native_filter_cache.py
 create mode 100644 superset/translations/do-not-translate.txt
 copy {superset-core/src/superset_core/common => 
superset/versioning}/__init__.py (100%)
 create mode 100644 superset/versioning/api_helpers.py
 create mode 100644 superset/versioning/baseline/__init__.py
 create mode 100644 superset/versioning/baseline/children.py
 create mode 100644 superset/versioning/baseline/collection.py
 create mode 100644 superset/versioning/baseline/dirty.py
 create mode 100644 superset/versioning/baseline/insertion.py
 create mode 100644 superset/versioning/baseline/listener.py
 create mode 100644 superset/versioning/baseline/shadow.py
 create mode 100644 superset/versioning/changes/__init__.py
 create mode 100644 superset/versioning/changes/listener.py
 create mode 100644 superset/versioning/changes/shadow_queries.py
 create mode 100644 superset/versioning/changes/state.py
 create mode 100644 superset/versioning/changes/table.py
 create mode 100644 superset/versioning/diff.py
 create mode 100644 superset/versioning/etag.py
 create mode 100644 superset/versioning/factory.py
 create mode 100644 superset/versioning/queries.py
 create mode 100644 superset/versioning/schemas.py
 create mode 100644 superset/versioning/utils.py
 create mode 100644 tests/integration_tests/charts/soft_delete_tests.py
 delete mode 100644 
tests/integration_tests/dashboards/security/security_rbac_tests.py
 create mode 100644 tests/integration_tests/datasets/soft_delete_tests.py
 copy {superset-core/src/superset_core/common => 
tests/integration_tests/subjects}/__init__.py (100%)
 create mode 100644 tests/integration_tests/subjects/api_tests.py
 copy {superset-core/src/superset_core/common => 
tests/integration_tests/versioning}/__init__.py (100%)
 create mode 100644 tests/integration_tests/versioning/capture_disabled_tests.py
 create mode 100644 tests/integration_tests/versioning/conftest.py
 create mode 100644 
tests/integration_tests/versioning/snapshot_projection_tests.py
 create mode 100644 
tests/integration_tests/versioning/transaction_correctness_tests.py
 create mode 100644 tests/integration_tests/versioning/versions_api_tests.py
 create mode 100644 tests/unit_tests/charts/test_filters.py
 create mode 100644 tests/unit_tests/cli/thumbnails_test.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/dao/group_test.py
 create mode 100644 tests/unit_tests/dao/role_test.py
 create mode 100644 tests/unit_tests/dao/subject_test.py
 create mode 100644 tests/unit_tests/databases/commands/delete_test.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_chart_config_coercion.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_delete_chart.py
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_delete_dashboard.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_scope.py
 create mode 100644 tests/unit_tests/mcp_service/test_guest_token_auth.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/theme}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/theme/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/theme/tool/test_create_theme.py
 create mode 100644 
tests/unit_tests/mcp_service/theme/tool/test_get_theme_info.py
 create mode 100644 tests/unit_tests/mcp_service/theme/tool/test_list_themes.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
 create mode 100644 tests/unit_tests/migrations/test_add_deleted_at_to_slices.py
 create mode 100644 tests/unit_tests/migrations/test_add_deleted_at_to_tables.py
 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
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/subjects}/__init__.py (100%)
 create mode 100644 tests/unit_tests/subjects/test_copy_command.py
 create mode 100644 tests/unit_tests/subjects/test_filters.py
 create mode 100644 tests/unit_tests/subjects/test_raise_for_access.py
 create mode 100644 tests/unit_tests/subjects/test_security.py
 create mode 100644 tests/unit_tests/subjects/test_utils.py
 create mode 100644 tests/unit_tests/tasks/test_native_filter_cache.py
 create mode 100644 tests/unit_tests/test_marshmallow_compatibility.py
 create mode 100644 tests/unit_tests/versioning/test_diff_caps.py
 create mode 100644 tests/unit_tests/versioning/test_listener.py


Reply via email to