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

sadpandajoe pushed a change to branch fix-filterbar-crossfilter-overflow
in repository https://gitbox.apache.org/repos/asf/superset.git


    from b2cbb54f7ca chore(dashboard): restore non-executable mode on 
DropdownContainer files
     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 e403d9b0742 chore(lint): convert legacy plugin chart components to 
function components (#39452)
     add 12f28ce2354 chore(deps): bump holidays from 0.82 to 0.99 (#41949)
     add 98c3ec7a718 chore(deps): bump sqlglot from 30.8.0 to 30.12.0 (#41948)
     add d380663e710 chore(deps-dev): bump syntaqlite from 0.4.2 to 0.6.0 
(#41952)
     add c0e5f5226d4 fix(explore): let chart owners overwrite when owners come 
through as objects (#41352)
     add c762b75ddc5 chore(lint): upgrade no-unused-vars rule from warn to 
error (#41132)
     add 8f339545adb chore(deps-dev): bump baseline-browser-mapping from 
2.10.41 to 2.10.42 in /superset-frontend (#41993)
     add 73925922a9a chore(deps): bump react-arborist from 3.12.0 to 3.13.2 in 
/superset-frontend (#41992)
     add bb5d7dbb17b chore(deps): bump immer from 11.1.9 to 11.1.11 in 
/superset-frontend (#41991)
     add 9180ace1ddc chore(deps): bump actions/labeler from 6.1.0 to 6.2.0 
(#41988)
     add 96bf1a1e4cd chore(deps): bump caniuse-lite from 1.0.30001800 to 
1.0.30001802 in /docs (#41987)
     add 0cf217cdea5 chore(deps-dev): bump vitest from 4.1.9 to 4.1.10 in 
/superset-websocket (#41986)
     add f7b7bad9a88 chore(deps-dev): bump tsx from 4.22.5 to 4.23.0 in 
/superset-frontend (#41985)
     add 1c7a3f395f4 chore(deps): bump fs-extra from 11.3.2 to 11.3.6 in 
/superset-frontend (#41990)
     add 3c6982252b2 chore(deps-dev): bump webpack from 5.108.3 to 5.108.4 in 
/superset-frontend (#41989)
     add 029d49539bc fix(event-log): match embedded routes precisely in logger 
middleware (#41942)
     add 2fac66d1a30 feat(mcp): add update_dataset_metric tool for editing 
saved dataset metrics (#40975)
     add 8f75f1a353d fix(dashboard): deleted Display Control reappears after 
Apply Filters (#41999)
     add 68ebc22e1ee refactor: replace Engine.execute() with 
Connection.execute() (#41917)
     add 5dd060b714a fix(chart-echarts): disable animation for report 
screenshots so time-shift lines render fully (#42003)
     add 1627fab741b fix(i18n): make every catalog compile clean, canonicalize, 
fix ja plurals (#41828)
     add e063f5093c9 feat(frontend): upgrade Ant Design from v5 to v6 (#41636)
     add 873566c8272 fix(mcp): stop masking dashboard lookup DB errors as 
not-found (#41919)
     add d43a0d7633a chore: sqlalchemy.database package warnings are irrelevant 
(#41978)
     add 64df96be00a fix(nvd3): invoke shiftMetric() in TimePivot 
formDataOverrides (#41916)
     add 521e51429a7 chore: as_declarative() warnings are irrelevant (#41982)
     add c5131bff47e chore(a11y): enable 9 more jsx-a11y oxlint rules as errors 
(#42006)
     add 62ccdfacc2f fix(mcp): make list-item truncation cap configurable in 
get_dashboard_info (#41698)
     add 18f1dd394bb test(security): prove Drill By access does not require 
can_explore (#27900) (#41967)
     add 273c09295c5 Merge branch 'master' into 
fix-filterbar-crossfilter-overflow

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |  289 --
 .github/workflows/check-python-deps.yml            |    2 +-
 .github/workflows/codeql-analysis.yml              |    4 +-
 .github/workflows/labeler.yml                      |    2 +-
 .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                                        |  147 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |    6 +-
 docs/admin_docs/configuration/cache.mdx            |   12 +-
 docs/admin_docs/configuration/mcp-server.mdx       |    2 +
 .../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 +-
 .../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                                  |    2 +-
 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/yarn.lock                                     |    8 +-
 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                                     |   35 +-
 pytest.ini                                         |    4 +-
 requirements/base.in                               |    2 +-
 requirements/base.txt                              |   22 +-
 requirements/development.txt                       |   34 +-
 scripts/benchmark_migration.py                     |    9 +-
 scripts/stylelint.sh                               |   49 +
 scripts/translations/babel_update.sh               |   29 +
 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-frontend/.storybook/preview.jsx           |    2 +-
 superset-frontend/.stylelintignore                 |    9 +
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |   15 +-
 .../cypress-base/cypress/e2e/explore/utils.ts      |   10 +-
 .../cypress-base/cypress/fixtures/charts.json      |    4 -
 .../cypress-base/cypress/support/directories.ts    |   30 +-
 superset-frontend/jest.config.js                   |    2 +-
 superset-frontend/oxlint.json                      |   37 +-
 superset-frontend/package-lock.json                | 2916 +++++++++---
 superset-frontend/package.json                     |   40 +-
 .../packages/superset-core/package.json            |    2 +-
 .../superset-core/src/theme/GlobalStyles.tsx       |   22 +-
 .../superset-core/src/theme/Theme.test.tsx         |  121 +-
 .../src/theme/__snapshots__/Theme.test.tsx.snap    |  730 +++
 .../superset-core/src/theme/utils/index.ts         |   14 +-
 .../superset-core/src/translation/types/index.ts   |   19 +-
 .../superset-ui-chart-controls/package.json        |    2 +-
 .../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        |    2 +-
 .../test/operators/renameOperator.test.ts          |   24 +
 .../test/operators/utils/timeOffset.test.ts        |   23 +
 .../packages/superset-ui-core/package.json         |   14 +-
 .../components/Matrixify/MatrixifyGridCell.tsx     |    2 +-
 .../components/Matrixify/MatrixifyGridRenderer.tsx |    3 +-
 .../src/color/CategoricalColorScale.ts             |   20 +-
 .../src/components/AsyncAceEditor/index.tsx        |    1 -
 .../src/components/Collapse/Collapse.test.tsx      |    6 +-
 .../src/components/Collapse/Collapse.tsx           |    4 +-
 .../src/components/CronPicker/CronPicker.test.tsx  |   24 +-
 .../src/components/CronPicker/index.tsx            |    6 +-
 .../DropdownContainer/DropdownContainer.tsx        |    9 +-
 .../src/components/FaveStar/index.tsx              |    1 +
 .../src/components/Form/LabeledErrorBoundInput.tsx |    8 +
 .../superset-ui-core/src/components/Form/types.ts  |    5 +
 .../src/components/Icons/AntdEnhanced.tsx          |    2 +
 .../src/components/Icons/Icons.stories.tsx         |    6 +-
 .../src/components/Label/Label.test.tsx            |   16 +
 .../src/components/Label/index.tsx                 |   24 +-
 .../src/components/MetadataBar/ContentConfig.tsx   |    6 +-
 .../src/components/MetadataBar/ContentType.ts      |   10 +-
 .../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                 |    6 +-
 .../components/ModalTrigger/ModalTrigger.test.tsx  |   46 +-
 .../src/components/ModalTrigger/index.tsx          |   20 +-
 .../PageHeaderWithActions.test.tsx                 |    4 +-
 .../src/components/RefreshLabel/index.tsx          |    1 +
 .../src/components/Select/AsyncSelect.test.tsx     |   36 +-
 .../src/components/Select/AsyncSelect.tsx          |   27 +-
 .../src/components/Select/Select.stories.tsx       |    5 +-
 .../src/components/Select/Select.test.tsx          |   44 +-
 .../src/components/Select/Select.tsx               |   22 +-
 .../src/components/Select/constants.test.ts        |   48 +-
 .../src/components/Select/constants.ts             |   51 +-
 .../src/components/Select/styles.tsx               |   12 +-
 .../src/components/Select/types.ts                 |   14 +-
 .../TableCollection/TableCollection.test.tsx       |    9 +-
 .../src/components/Tabs/Tabs.test.tsx              |   18 +-
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |    8 +-
 .../src/components/TimezoneSelector/index.tsx      |    2 +-
 .../src/components/Tooltip/Tooltip.stories.tsx     |    2 +-
 .../src/components/Tooltip/index.tsx               |    3 +-
 .../TooltipParagraph/TooltipParagraph.test.tsx     |   37 +-
 .../src/components/antdDomContract.test.tsx        |  240 +
 .../superset-ui-core/src/query/types/Dashboard.ts  |    2 +
 .../superset-ui-core/src/utils/featureFlags.ts     |    3 +-
 .../superset-ui-core/src/utils/html.test.tsx       |   17 +
 .../test/color/CategoricalColorScale.test.ts       |   84 +-
 .../playwright/components/core/Select.ts           |    2 +-
 .../playwright/helpers/api/dataset.ts              |    6 +-
 .../playwright/pages/ChartCreationPage.ts          |    9 +-
 superset-frontend/playwright/pages/ExplorePage.ts  |    2 +-
 .../tests/dashboard/delete-display-control.spec.ts |  263 ++
 .../playwright/tests/dashboard/theme.spec.ts       |   35 +-
 .../playwright/tests/home/welcome.spec.ts          |   36 +
 .../legacy-plugin-chart-calendar/src/Calendar.ts   |    2 +-
 .../src/CountryMap.ts                              |    2 +-
 .../src/HorizonChart.tsx                           |  101 +-
 .../legacy-plugin-chart-horizon/src/HorizonRow.tsx |  268 +-
 .../test/HorizonChart.test.tsx                     |   51 +
 .../test/HorizonRow.test.tsx                       |  102 +
 .../src/PairedTTest.tsx                            |   77 +-
 .../src/TTestTable.tsx                             |  545 ++-
 .../test/TTestTable.test.tsx                       |  365 ++
 .../src/TimePivot/controlPanel.ts                  |    5 +-
 .../test/TimePivot/controlPanel.test.ts            |   57 +
 .../src/AgGridTable/index.tsx                      |    1 +
 .../src/AgGridTableChart.tsx                       |    9 +-
 .../src/renderers/NumericCellRenderer.tsx          |   16 +-
 .../src/styles/index.tsx                           |    3 +-
 .../src/transformProps.ts                          |   15 +
 .../plugin-chart-ag-grid-table/src/types.ts        |    3 +-
 .../src/utils/isEqualColumns.ts                    |   25 +-
 .../src/utils/useColDefs.ts                        |    5 +-
 .../test/AgGridTableChart.test.tsx                 |   18 +-
 .../test/transformProps.test.ts                    |  266 ++
 .../src/BigNumber/BigNumberViz.tsx                 |    4 -
 .../plugin-chart-echarts/src/BigNumber/utils.ts    |    2 +-
 .../src/Bubble/transformProps.ts                   |   11 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |    9 +-
 .../src/components/Echart.test.tsx                 |   53 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |   30 +-
 .../test/BigNumber/transformProps.test.ts          |   28 +-
 .../test/Bubble/transformProps.test.ts             |   72 +
 .../test/Timeseries/transformProps.test.ts         |   40 +
 .../plugin-chart-echarts/test/utils/series.test.ts |   56 +
 .../src/PivotTableChart.tsx                        |   84 +-
 .../test/PivotTableChart.test.tsx                  |  370 ++
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    2 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |    2 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   41 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   51 +-
 .../src/chart/WordCloud.tsx                        |  273 +-
 .../test/WordCloud.test.tsx                        |  161 +
 .../plugins/preset-chart-deckgl/package.json       |    2 +-
 .../src/DeckGLContainer.test.tsx                   |    1 +
 .../src/components/Legend.test.tsx                 |   57 +-
 .../src/layers/Polygon/transformProps.test.ts      |   36 +
 .../src/layers/Polygon/transformProps.ts           |   16 +-
 .../src/utilities/tooltipUtils.test.tsx            |   90 +
 .../src/utilities/tooltipUtils.tsx                 |   50 +-
 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 +-
 .../spec/helpers/jsDomWithFetchAPI.ts              |   58 +-
 .../src/SqlLab/SqlLabGlobalStyles.tsx              |   10 +-
 .../src/SqlLab/actions/sqlLab.test.ts              |   80 +
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |   25 +-
 .../src/SqlLab/components/App/index.tsx            |    6 +-
 .../src/SqlLab/components/ColumnElement/index.tsx  |    2 +-
 .../src/SqlLab/components/EditorWrapper/index.tsx  |    4 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |   26 +-
 .../src/SqlLab/components/QueryTable/styles.ts     |    1 +
 .../src/SqlLab/components/ResultSet/index.tsx      |   33 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |  104 +-
 .../ScheduleQueryButton.test.tsx                   |  137 +
 .../components/ScheduleQueryButton/index.tsx       |    9 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |    4 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    2 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |    4 +-
 .../TabbedSqlEditors/TabbedSqlEditors.test.tsx     |    2 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |    3 -
 superset-frontend/src/SqlLab/fixtures.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 +-
 .../src/components/Chart/ChartRenderer.tsx         |    1 -
 .../components/Chart/DrillBy/DrillByChart.test.tsx |    7 +-
 .../components/Chart/DrillBy/DrillByModal.test.tsx |    7 +-
 .../Chart/DrillBy/DrillBySubmenu.test.tsx          |    2 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |    3 +-
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |   11 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |    1 +
 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    |    2 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |  121 +-
 .../DatasetUsageTab/DatasetUsageTab.test.tsx       |   39 +-
 .../components/DatasetUsageTab/index.tsx           |   29 +-
 .../tests/DatasourceEditor.test.tsx                |    2 +-
 .../tests/DatasourceEditor.test.utils.tsx          |    2 +-
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |   12 +-
 .../ErrorMessage/DatabaseErrorMessage.tsx          |   18 +-
 .../ErrorMessage/FrontendNetworkErrorMessage.tsx   |    1 -
 .../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/GridTable/index.tsx             |    1 -
 .../src/components/ListView/ListView.tsx           |    1 -
 .../src/components/MessageToasts/Toast.tsx         |    2 +-
 .../components/Modal/CollapsibleModalSection.tsx   |    2 -
 .../src/components/Modal/ModalFormField.tsx        |    4 -
 .../src/components/Modal/StandardModal.tsx         |    8 +-
 .../src/components/ResizableSidebar/index.tsx      |    2 +-
 .../TableSelector/TableSelector.test.tsx           |   44 +-
 .../src/components/TableSelector/index.tsx         |    6 +
 .../src/components/Tag/utils.test.tsx              |    2 +-
 .../src/components/TagsList/TagsList.test.tsx      |    4 +-
 superset-frontend/src/components/index.ts          |    1 -
 superset-frontend/src/core/sqlLab/models.ts        |    4 +-
 .../src/dashboard/actions/dashboardState.test.ts   |   44 +
 .../src/dashboard/actions/dashboardState.ts        |   20 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |    4 +-
 .../src/dashboard/actions/sliceEntities.ts         |    6 +-
 .../components/AddSliceCard/AddSliceCard.test.tsx  |    9 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |    2 +-
 .../components/BuilderComponentPane/index.tsx      |    4 +-
 .../components/CustomizationsBadge/index.tsx       |   25 +-
 .../src/dashboard/components/Dashboard.tsx         |    4 -
 .../DashboardBuilder/DashboardBuilder.tsx          |    4 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    2 +-
 .../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         |   18 +-
 .../src/dashboard/components/SliceAdder.test.tsx   |    2 +-
 .../src/dashboard/components/SliceAdder.tsx        |   11 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |    2 +-
 .../SliceHeaderControls.subdirectory.test.tsx      |    2 +-
 .../SliceHeaderControls.test.tsx                   |    2 +-
 .../components/filterscope/FilterScopeSelector.tsx |    2 +-
 .../components/gridComponents/Chart/Chart.test.tsx |    1 -
 .../gridComponents/Divider/Divider.test.tsx        |    2 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |   56 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |    2 -
 .../src/dashboard/components/menu/HoverMenu.tsx    |    2 +-
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |    2 +-
 .../FilterBar/CrossFilters/CrossFilter.test.tsx    |    2 +-
 .../ScopingModal/ChartsScopingListPanel.tsx        |    1 +
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |  110 +
 .../FilterBarSettings/FilterBarSettings.test.tsx   |    2 +-
 .../useFilterConfigModal.tsx                       |    4 +-
 .../FilterControls/FilterControlShared.tsx         |    4 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |    2 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    9 +-
 .../FilterBar/UrlFilters/Vertical.test.tsx         |    4 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |    5 +-
 .../components/nativeFilters/FilterBar/index.tsx   |   13 +-
 .../ConfigModalSidebar/ConfigModalSidebar.tsx      |    2 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |    1 +
 .../FiltersConfigForm/ColumnSelect.tsx             |   92 +-
 .../FiltersConfigForm/DatasetSelect.test.tsx       |   49 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |  102 +-
 .../FiltersConfigForm/DependencyList.tsx           |    8 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |  196 +-
 .../FiltersConfigForm/RemovedFilter.tsx            |    2 +-
 .../FiltersConfigForm/getControlItemsMap.tsx       |    4 +
 .../FiltersConfigForm/utils.test.ts                |   76 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |   91 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |   25 +-
 .../FiltersConfigModal/ItemTitleContainer.tsx      |    1 +
 .../FiltersConfigModal/NewItemDropdown.tsx         |   84 +-
 .../hooks/useCustomizationOperations.ts            |    2 +-
 .../hooks/useFilterOperations.ts                   |    2 +-
 .../transformers/buildTarget.test.ts               |   74 +
 .../FiltersConfigModal/transformers/buildTarget.ts |   61 +
 .../transformers/customizationTransformer.ts       |   13 +-
 .../transformers/filterTransformer.ts              |   16 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |    3 +
 .../nativeFilters/FiltersConfigModal/utils.ts      |   10 +-
 .../dashboard/components/nativeFilters/utils.ts    |    6 +-
 .../components/resizable/ResizableContainer.tsx    |  155 +-
 .../dashboard/containers/DashboardPage.test.tsx    |    3 +-
 .../src/dashboard/reducers/dashboardInfo.test.ts   |   24 +-
 .../src/dashboard/reducers/dashboardInfo.ts        |    1 +
 superset-frontend/src/dashboard/styles.ts          |    4 +-
 superset-frontend/src/dashboard/types.ts           |   16 +-
 .../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/explore/actions/hydrateExplore.ts          |   13 +-
 .../src/explore/actions/saveModalActions.test.ts   |   36 +-
 .../src/explore/actions/saveModalActions.ts        |    8 +-
 .../explore/components/ControlPanelsContainer.tsx  |   18 +-
 .../explore/components/DataTableControl/index.tsx  |    2 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |    6 +-
 .../components/DataTableControls.tsx               |    1 +
 .../components/ResultsPaneOnDashboard.tsx          |    4 +-
 .../DataTablesPane/components/SamplesPane.tsx      |    1 -
 .../DatasourcePanelDragOption/index.tsx            |    2 +-
 .../src/explore/components/ExploreAlert.tsx        |    2 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |    8 +-
 .../components/ExploreChartHeader/index.tsx        |   12 +-
 .../ExploreChartHeader/useExploreMetadataBar.tsx   |    4 +-
 .../ExploreContainer/ExploreDndContext.tsx         |   61 +
 .../ExploreViewContainer.test.tsx                  |  185 +-
 .../components/ExploreViewContainer/index.tsx      |    8 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |   64 +-
 .../explore/components/PropertiesModal/index.tsx   |  178 +-
 .../src/explore/components/SaveModal.test.tsx      |   69 +-
 .../src/explore/components/SaveModal.tsx           |   47 +-
 .../CollectionControl/CollectionControl.test.tsx   |    8 +
 .../controls/CollectionControl/index.tsx           |   35 +-
 .../FormattingPopoverContent.test.tsx              |    4 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |   12 +-
 .../controls/DatasourceControl/index.tsx           |   13 +-
 .../components/DateFunctionTooltip.tsx             |   32 +-
 .../DateFilterControl/tests/CustomFrame.test.tsx   |   20 +-
 .../DndColumnSelectPopoverTitle.tsx                |    1 +
 .../controls/DndColumnSelectControl/Option.tsx     |    1 +
 .../AdhocFilterEditPopover.test.tsx                |    5 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |    2 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |    2 +-
 .../index.tsx                                      |    2 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |    6 +-
 .../controls/NumberControl/NumberControl.test.tsx  |    2 +-
 .../components/controls/OptionControls/index.tsx   |    1 +
 .../SelectAsyncControl/SelectAsyncControl.test.tsx |    6 +-
 .../components/controls/SelectControl.test.tsx     |   78 +-
 .../components/controls/TextControl/index.tsx      |    7 +-
 .../components/controls/ViewportControl.tsx        |    1 +
 .../controls/VizTypeControl/VizTypeGallery.tsx     |    4 +-
 .../components/controls/VizTypeControl/index.tsx   |    1 -
 superset-frontend/src/explore/fixtures.tsx         |    2 +-
 .../src/explore/reducers/exploreReducer.ts         |   30 +-
 superset-frontend/src/explore/types.ts             |    3 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |  228 +-
 .../src/features/alerts/AlertReportModal.tsx       |  144 +-
 .../alerts/components/NotificationMethod.test.tsx  |  233 +
 .../alerts/components/NotificationMethod.tsx       |  250 +-
 superset-frontend/src/features/alerts/types.ts     |    4 +-
 .../AllEntitiesTable.subdirectory.test.tsx         |    6 +-
 .../features/allEntities/AllEntitiesTable.test.tsx |   10 +-
 .../src/features/allEntities/AllEntitiesTable.tsx  |   17 +-
 .../src/features/annotations/AnnotationModal.tsx   |    2 +-
 .../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 +-
 .../databases/DatabaseModal/ExtraOptions.test.tsx  |   68 +
 .../databases/DatabaseModal/ExtraOptions.tsx       |   36 +-
 .../databases/DatabaseModal/index.test.tsx         |   67 +-
 .../src/features/databases/DatabaseModal/index.tsx |   20 +-
 .../src/features/databases/DatabaseModal/styles.ts |   33 +-
 .../databases/UploadDataModel/ColumnsPreview.tsx   |    4 +-
 .../features/databases/UploadDataModel/index.tsx   |    4 +-
 .../DatasetPanel.subdirectory.test.tsx             |    2 +-
 .../datasets/AddDataset/DatasetPanel/fixtures.ts   |    2 +-
 .../datasets/AddDataset/Footer/Footer.test.tsx     |    2 +-
 .../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 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    2 +
 .../src/features/home/SavedQueries.tsx             |    1 -
 .../OwnerSelectLabel/OwnerSelectLabel.test.tsx     |   38 -
 .../src/features/queries/QueryPreviewModal.tsx     |    2 +
 .../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/roles/RoleListEditModal.test.tsx  |    2 +-
 .../semanticLayers/MultiEnumControl.test.tsx       |    2 +-
 .../features/semanticLayers/SemanticLayerModal.tsx |    5 -
 .../semanticLayers/jsonFormsAntdRenderers.test.tsx |  125 +
 .../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 +-
 .../src/features/tags/BulkTagModal.tsx             |    2 +-
 superset-frontend/src/features/tags/TagModal.tsx   |    2 +-
 .../src/features/tasks/TaskPayloadPopover.tsx      |    4 +-
 .../src/features/tasks/TaskStackTracePopover.tsx   |    4 +-
 superset-frontend/src/features/themes/types.ts     |    6 +-
 .../src/features/userInfo/UserInfoModal.tsx        |    2 +-
 superset-frontend/src/features/users/utils.ts      |    2 +-
 .../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 +-
 superset-frontend/src/middleware/logger.test.ts    |   25 +
 .../src/middleware/loggerMiddleware.ts             |   11 +-
 .../pages/AlertReportList/AlertReportList.test.tsx |   66 +-
 .../src/pages/AlertReportList/index.tsx            |   51 +-
 superset-frontend/src/pages/AllEntities/index.tsx  |   18 +-
 superset-frontend/src/pages/Chart/index.tsx        |    8 +-
 .../src/pages/ChartCreation/index.tsx              |   88 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |   14 +-
 .../pages/ChartList/ChartList.permissions.test.tsx |    6 +-
 .../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 +-
 .../DashboardList.permissions.test.tsx             |    7 +-
 .../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 +-
 superset-frontend/src/pages/GroupsList/index.tsx   |    2 +-
 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/TaskList/index.tsx     |   12 +-
 superset-frontend/src/pages/UsersList/index.tsx    |    2 +-
 superset-frontend/src/setup/setupApp.ts            |    3 +-
 superset-frontend/src/setup/setupCodeOverrides.ts  |    4 +-
 superset-frontend/src/theme/ThemeController.ts     |   35 +-
 .../src/theme/tests/ThemeController.test.ts        |   95 +
 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 +
 .../{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          |   14 +-
 superset-frontend/src/views/CRUD/utils.test.tsx    |   12 +-
 superset-frontend/src/views/CRUD/utils.tsx         |  102 +-
 .../visualizations/TimeTable/TimeTable.test.tsx    |    4 +-
 .../src/visualizations/TimeTable/TimeTable.tsx     |    2 +-
 .../mockReportState.js => stylelint.config.js}     |   34 +-
 .../{eslint.config.js => eslint.config.mjs}        |   17 +-
 superset-websocket/package-lock.json               |  477 +-
 superset-websocket/package.json                    |   18 +-
 superset-websocket/src/config.ts                   |    7 +-
 superset-websocket/src/index.ts                    |    8 +-
 superset-websocket/tsconfig.json                   |    5 +-
 superset/charts/api.py                             |  249 +-
 superset/charts/data/api.py                        |   10 +
 superset/charts/data/dashboard_filter_context.py   |    2 +-
 superset/charts/filters.py                         |  115 +-
 superset/charts/schemas.py                         |   23 +-
 superset/cli/sync_subjects.py                      |  108 +
 superset/cli/test_db.py                            |   14 +-
 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/importers/v1/utils.py      |  180 +-
 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/execute.py                |  155 +-
 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                         |   66 +-
 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/db_engine_specs/databricks.py             |   17 +-
 superset/db_engine_specs/doris.py                  |   12 +-
 superset/db_engine_specs/duckdb.py                 |   13 +-
 superset/db_engine_specs/hive.py                   |   36 +-
 superset/db_engine_specs/impala.py                 |   11 +-
 superset/db_engine_specs/postgres.py               |   15 +-
 superset/db_engine_specs/presto.py                 |    8 +-
 superset/db_engine_specs/snowflake.py              |   13 +-
 superset/db_engine_specs/starrocks.py              |   42 +-
 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                        |   85 +-
 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              |   98 +-
 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     |    4 +-
 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/constants.py                  |    2 +
 superset/mcp_service/dashboard/schemas.py          |  112 +-
 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/generate_dashboard.py           |   16 +-
 .../dashboard/tool/get_dashboard_info.py           |   14 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |    2 +-
 .../dashboard/tool/manage_native_filters.py        |    2 +-
 .../dashboard/tool/remove_chart_from_dashboard.py  |    4 +-
 .../mcp_service/dashboard/tool/update_dashboard.py |   17 +-
 superset/mcp_service/dataset/dataset_utils.py      |   50 +
 superset/mcp_service/dataset/schemas.py            |  180 +-
 superset/mcp_service/dataset/tool/__init__.py      |    2 +
 .../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 |  119 +-
 .../dataset/tool/update_dataset_metric.py          |  294 ++
 superset/mcp_service/guest_scope.py                |   72 +
 superset/mcp_service/guest_token_verifier.py       |  180 +
 superset/mcp_service/mcp_config.py                 |  164 +-
 superset/mcp_service/mcp_core.py                   |   22 +-
 superset/mcp_service/middleware.py                 |   40 +-
 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 ++
 .../{dataset => semantic_layer}/tool/__init__.py   |   23 +-
 .../tool/get_compatible_dimensions.py              |  250 ++
 .../semantic_layer/tool/get_compatible_metrics.py  |  254 ++
 .../mcp_service/semantic_layer/tool/get_table.py   |  529 +++
 .../semantic_layer/tool/list_metrics.py            |  338 ++
 superset/mcp_service/server.py                     |    1 +
 superset/mcp_service/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/mcp_service/utils/token_utils.py          |   12 +-
 superset/middleware/legacy_prefix_redirect.py      |   42 +-
 ...03-23_10-00_b1c2d3e4f5a6_add_subjects_tables.py |  944 ++++
 ..._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                           |   79 +-
 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                 |  148 +-
 superset/semantic_layers/models.py                 |    2 +-
 superset/sql/dialects/firebolt.py                  |    5 +-
 .../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                               |   14 +-
 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/themes/api.py                             |   28 +-
 superset/themes/schemas.py                         |   41 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |  430 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |  409 +-
 superset/translations/de/LC_MESSAGES/messages.po   |  430 +-
 superset/translations/en/LC_MESSAGES/messages.po   |  339 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  424 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  414 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |  546 ++-
 superset/translations/fr/LC_MESSAGES/messages.po   | 4672 ++++++++++----------
 superset/translations/it/LC_MESSAGES/messages.po   | 3927 ++++++++--------
 superset/translations/ja/LC_MESSAGES/messages.po   |  390 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |  409 +-
 superset/translations/messages.pot                 |  337 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |  430 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |  416 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |  427 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   64 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  405 +-
 superset/translations/ro/LC_MESSAGES/messages.po   | 2948 +++++++++---
 superset/translations/ru/LC_MESSAGES/messages.po   |  410 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |  409 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |  432 +-
 superset/translations/sr/LC_MESSAGES/messages.po   | 3566 ++++++++-------
 .../translations/sr_Latn/LC_MESSAGES/messages.po   | 3619 +++++++--------
 superset/translations/th/LC_MESSAGES/messages.po   |  534 ++-
 superset/translations/tr/LC_MESSAGES/messages.po   |  363 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |  420 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   36 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   36 +-
 superset/utils/core.py                             |    6 +-
 superset/utils/csv.py                              |   48 +-
 superset/utils/filters.py                          |   53 +-
 superset/utils/mock_data.py                        |   16 +-
 .../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                             |   61 +-
 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 +-
 .../data_loading/pandas/pandas_data_loader.py      |    3 +-
 tests/integration_tests/base_api_tests.py          |  402 +-
 tests/integration_tests/base_tests.py              |   65 +-
 tests/integration_tests/celery_tests.py            |    6 +-
 tests/integration_tests/charts/api_tests.py        |  147 +-
 tests/integration_tests/charts/commands_tests.py   |   47 +-
 tests/integration_tests/charts/data/api_tests.py   |    4 +-
 .../integration_tests/charts/soft_delete_tests.py  |   34 +-
 tests/integration_tests/commands_test.py           |    5 +-
 tests/integration_tests/conftest.py                |   90 +-
 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              |   58 +-
 tests/integration_tests/datasets/api_tests.py      |  415 +-
 tests/integration_tests/datasets/commands_tests.py |   37 +-
 .../datasets/soft_delete_tests.py                  |  605 +++
 tests/integration_tests/datasource_tests.py        |   57 +-
 .../db_engine_specs/hive_tests.py                  |   20 +-
 .../db_engine_specs/presto_tests.py                |   30 +-
 .../integration_tests/fixtures/energy_dashboard.py |    3 +-
 .../integration_tests/fixtures/tabbed_dashboard.py |   15 +
 .../fixtures/unicode_dashboard.py                  |    3 +-
 .../fixtures/world_bank_dashboard.py               |    3 +-
 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  |   30 +-
 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       |    5 +
 tests/integration_tests/sqllab_tests.py            |   44 +-
 .../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          |   28 +-
 .../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    |   14 +-
 tests/unit_tests/charts/test_filters.py            |  180 +
 tests/unit_tests/cli/thumbnails_test.py            |   79 +
 tests/unit_tests/commands/chart/restore_test.py    |    4 +-
 .../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   |  327 +-
 .../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/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/db_engine_specs/test_datastore.py |    2 +-
 tests/unit_tests/db_engine_specs/test_doris.py     |   17 +-
 tests/unit_tests/db_engine_specs/test_starrocks.py |    6 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |   14 +-
 tests/unit_tests/examples/generic_loader_test.py   |    4 +-
 tests/unit_tests/explore/utils_test.py             |   90 +-
 tests/unit_tests/initialization_test.py            |   98 +
 .../mcp_service/chart/test_big_number_chart.py     |  121 +
 .../chart/test_chart_config_coercion.py            |   14 +-
 .../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            |   35 +-
 .../tool/test_add_chart_to_existing_dashboard.py   |   29 +-
 .../dashboard/tool/test_dashboard_generation.py    |  101 +-
 .../dashboard/tool/test_dashboard_tools.py         |  111 +-
 .../dashboard/tool/test_delete_dashboard.py        |  254 ++
 .../dashboard/tool/test_duplicate_dashboard.py     |    7 +-
 .../tool/test_remove_chart_from_dashboard.py       |   65 +-
 .../dashboard/tool/test_update_dashboard.py        |   41 +-
 .../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/dataset/tool/test_query_dataset.py |   32 +-
 .../dataset/tool/test_update_dataset_metric.py     |  541 +++
 .../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_middleware.py    |   89 +
 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          |   74 +-
 .../middleware/test_legacy_prefix_redirect.py      |   75 +-
 .../migrations/test_add_deleted_at_to_tables.py    |  189 +
 tests/unit_tests/models/core_test.py               |    5 +-
 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 +-
 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    |  398 +-
 tests/unit_tests/sql/parse_tests.py                |   61 +
 .../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_bootstrap_auth.py      |   21 +
 1022 files changed, 68587 insertions(+), 23597 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 superset-frontend/.stylelintignore
 create mode 100644 
superset-frontend/packages/superset-core/src/theme/__snapshots__/Theme.test.tsx.snap
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/antdDomContract.test.tsx
 create mode 100644 
superset-frontend/playwright/tests/dashboard/delete-display-control.spec.ts
 create mode 100644 superset-frontend/playwright/tests/home/welcome.spec.ts
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-horizon/test/HorizonChart.test.tsx
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-horizon/test/HorizonRow.test.tsx
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/test/TTestTable.test.tsx
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/test/TimePivot/controlPanel.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/transformProps.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/test/PivotTableChart.test.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-word-cloud/test/WordCloud.test.tsx
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/utilities/tooltipUtils.test.tsx
 create mode 100644 
superset-frontend/src/SqlLab/components/ScheduleQueryButton/ScheduleQueryButton.test.tsx
 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
 delete mode 100644 
superset-frontend/src/features/owners/OwnerSelectLabel/OwnerSelectLabel.test.tsx
 create mode 100644 
superset-frontend/src/features/semanticLayers/jsonFormsAntdRenderers.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
 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/dataset/dataset_utils.py
 create mode 100644 superset/mcp_service/dataset/tool/update_dataset_metric.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/mcp_service/{dataset => 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-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
 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
 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/dataset/restore_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/tool/test_delete_chart.py
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_delete_dashboard.py
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_update_dataset_metric.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_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