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

eschutho pushed a change to branch fix-tile-wait-budget
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 573b8a44ee3 fix(reports): derive tile-wait budget from the running 
Celery task's own time limit
 discard b8b81abbae5 fix(reports): retrofit execution-id/cache-key tracing onto 
existing screenshot-capture logs
 discard e4ec4e10679 fix(reports): downgrade tile-wait-budget logs to WARNING 
and add execution-id tracing
 discard 4fca5099dd1 fix(reports): time-budget tiled screenshot to fail cleanly 
instead of hitting Celery kill
     add 30b93ab7432 fix(frontend): fix edit/delete permissions for charts, 
dashboards, and datasets (#18870) (#32981) (#32995)
     add edca579625a fix(alerts): show typed text in email recipients selector 
(#42091)
     add c45b9002e64 feat(mcp): register /health HTTP endpoint (#41755)
     add 50672304840 chore(lint): display import/no-duplicates lint rule 
violation as error (#42042)
     add 20e6dfd37df fix(dashboard): seed default active tab path at hydration 
(#42075)
     add 9f8e1508ca6 fix(plugin-chart-echarts): show forecast tooltip values 
when they equal zero (#41311)
     add f467d36a24c fix(i18n): accept script subtags (e.g. sr_Latn) in 
backfill_po language codes (#42103)
     add 157ef61fd83 fix(charts): render time comparison without a time grain 
(#42054)
     add dbef0c3feea fix(plugin-chart-ag-grid-table): render Show summary 
totals row on ag-grid 36 (#42115)
     add 7eab41f9048 chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in 
/superset-websocket (#42134)
     add ba309fd016f chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in 
/superset-frontend (#42133)
     add 778800ba821 chore(deps): bump mapbox-gl from 3.25.0 to 3.26.0 in 
/superset-frontend (#42132)
     add 9bb0e376b36 chore(deps): bump docusaurus-plugin-openapi-docs from 
5.1.0 to 5.1.1 in /docs (#42131)
     add 8d36dca9e83 chore(deps): bump react-diff-viewer-continued from 4.2.2 
to 4.3.0 in /superset-frontend (#42130)
     add bef03fb8508 chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in 
/docs (#42128)
     add 929ec58276f chore(deps): bump docusaurus-theme-openapi-docs from 5.1.0 
to 5.1.1 in /docs (#42129)
     add 60fb1c6f019 docs(mcp): document all 7 generate_chart chart_type 
values, fix stale config comment (#41599)
     add 9ccd365652a feat(echarts): respect time grain in time-series tooltips 
(#41350)
     add 69b144ec16a feat(dashboards): Add open graph metadata for dashboards 
(#33550)
     add fc506c06daa feat: added email delivery of XLSX reports (#40885)
     add 905b20a3f2c fix(ci): retry change_detector GitHub API calls on 
transient errors (#42138)
     add c0781ba3164 chore(i18n): update Russian translations (#41885)
     add c05ac138fb9 fix(table): prevent pagination reset on cell click (#42136)
     add 9f230bcfc0c fix(cli): add --username option to import-directory 
command (#40994)
     add f3255c46ac8 feat(mcp): add dashboard owner, role, and certification 
management tools (#41606)
     add 73aa8ef280d docs(mcp): fix instruction/docstring drift and annotation 
metadata in mcp_service (#41922)
     add eef3dac72f8 fix(nav): prevent top navbar from flashing to vertical 
layout on load (#40781)
     add f8cfa459efb fix(presto): fix latest_sub_partition guard bypass + 
escape partition filter values (#41877)
     add a99c98c6fee feat(mcp): waterfall chart type plugin (#42070)
     add 5b837e844e9 fix(sqla): cast native UUID columns to string for 
LIKE/ILIKE filters (#41804)
     add c84a154b524 feat(helm): support additive extra init containers (#42114)
     add 5750d82426c fix(pandas_postprocessing): avoid FutureWarning for 
mean/median in boxplot (#42004)
     add 5bf26f77f82 fix(label): restore spacing between icon and label text 
(#42141)
     add 6a330c251b3 chore(deps): bump redis from 5.3.1 to 8.0.1 (#41813)
     add 91f814abead feat(pie): add the ability to make half a donut (#35459)
     add 68297886d42 fix(ci): stop concurrency cancellation from bricking 
required checks on approval-gated PRs (#42148)
     add ce8d4397cdd test(jinja): prove current_user_* macros produce 
collision-free cache keys (#42122)
     add 25f6c6c80bc fix(pivot-table): add bottom border to last grouped row 
(#36081)
     add b432f8c9175 fix(docs): use modern driver package for CrateDB (#42125)
     add 0f61d9a3fb8 fix(bigquery): ensure BigQuery client uses project from 
engine URI (#41975)
     add 45354994a62 build(deps): update @rjsf deps to v6 (#41955)
     add bda62cb28df chore(deps-dev): bump hdbcli from 2.29.23 to 2.29.25 
(#42170)
     add e495fd80f62 chore(deps-dev): bump eslint from 10.6.0 to 10.7.0 in 
/superset-frontend (#42188)
     add cce77b42f64 chore(deps-dev): bump @formatjs/intl-durationformat from 
0.10.16 to 0.10.17 in /superset-frontend (#42184)
     add f6acf68dfaa chore(deps): bump react-intersection-observer from 10.0.3 
to 10.1.0 in /superset-frontend (#42181)
     add 8299e7f87c0 chore(deps-dev): bump storybook from 10.4.6 to 10.5.0 in 
/superset-frontend (#42185)
     add dab5f308425 chore(deps): bump @docusaurus/faster from 3.10.1 to 3.10.2 
in /docs (#42179)
     add a58012fc0f2 chore(deps): bump the docusaurus-openapi group in /docs 
with 2 updates (#42195)
     add 79eff6b6f12 chore(deps): bump greenlet from 3.5.1 to 3.5.3 (#42166)
     add b6ce28ff729 chore(deps): bump typing-extensions from 4.15.0 to 4.16.0 
(#42165)
     add 3c233946759 chore(deps-dev): bump eslint from 10.6.0 to 10.7.0 in 
/superset-websocket (#42159)
     add 74703906df3 chore(deps): bump dom-to-image-more from 3.10.0 to 3.10.2 
in /superset-frontend (#42180)
     add 42e5640f609 chore(deps-dev): update nzalchemy requirement from 
<11.2,>=11.0.2 to >=11.1.2,<11.2 (#42164)
     add 2ada286ee92 chore(deps-dev): update pydynamodb requirement from 
>=0.4.2 to >=0.8.2 (#42162)
     add 023b60c8f01 chore(deps-dev): bump pandas-gbq from 0.19.1 to 0.35.0 
(#42161)
     add ff1cf5f24ed fix(table): hide search dropdown when search box is 
disabled (#41772)
     add 3e0f9e60c0e fix(charts): preserve minute/second precision in X-axis 
time labels f… (#41505)
     add 0a66e4ea2d7 fix(helm): support initContainers in supersetWebsockets 
(#42201)
     add fb29db61192 fix(sqllab): preserve database state on SET_DATABASES 
(#41281)
     add b9ede492b7e chore(lint): toggle import/named and import/export lint 
rules to error level (#42189)
     add 6c13ab66574 feat(ci): optimize Storybook testing in CI by replacing 
`http-server` with Python3 static server (#41956)
     add a83171bce6b fix(database): capture result metadata after fetch (#42127)
     add caf017bd0b3 feat(versioning): cross-entity version activity view 
(#41076)
     add 5ee4a81906e feat(helm): add Superset MCP server templates (#40507)
     add 4e098b6f385 fix(ag-grid-table): use t('Main') for time comparison 
column keys to fix i18n (#40681)
     add 751f5eb663f fix(dashboard): disable Discard button when there are no 
unsaved changes (#40832)
     add cd045886d08 feat(helm): add Gateway API HTTPRoute support (#41073)
     add c4d50472a9b fix(login): oauth and ldap login ignoring 
superset_app_root (#34657)
     add 42a2aede78d chore(deps): bump pandas from 2.1.4 to 2.3.3 (#42192)
     add 9e9b7c4bbda feat(ci): run helm-unittest on pull requests (#42206)
     add 36dbff091f4 refactor: do not cascade to TaggedObject (#42223)
     add 3e40bebba86 fix(import): enforce write permission for objects created 
by legacy import paths (#42205)
     add 09148d0af6b fix(time-table): correctly sort computed columns (#41976)
     add 8b415502cf7 chore(deps): bump chrono-node from 2.9.1 to 2.10.0 in 
/superset-frontend (#42235)
     add 19588826c8a chore(deps-dev): bump baseline-browser-mapping from 
2.10.42 to 2.10.43 in /superset-frontend (#42233)
     add 9e8b9ac8cf5 chore(deps-dev): bump tsx from 4.23.0 to 4.23.1 in 
/superset-frontend (#42232)
     add e044d7783a0 chore(deps): bump dompurify from 3.4.11 to 3.4.12 in 
/superset-frontend (#42231)
     add b5ae7cbd0d5 chore(deps): bump caniuse-lite from 1.0.30001803 to 
1.0.30001805 in /docs (#42228)
     add 7e63b29741a chore(deps): bump antd from 6.5.0 to 6.5.1 in /docs 
(#42226)
     add 277c814c5ac fix(i18n): review and complete Portuguese (pt_PT) 
translation catalog (#42137)
     add eed41b64359 chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 
(#42229)
     add ceffbe80f9b chore(deps): bump hot-shots from 16.0.0 to 17.0.0 in 
/superset-websocket (#42236)
     add 57dc3c0208b chore(deps): bump antd from 6.5.0 to 6.5.1 in 
/superset-frontend (#42234)
     add 19ca088de63 chore(deps): bump baseline-browser-mapping from 2.10.42 to 
2.10.43 in /docs (#42227)
     add c1e660fac84 fix(databases): reset import file entry after invalid file 
error (#42240)
     add 5a17ae12247 chore: drop Python 3.10 support, require Python 3.11+ 
(#42045)
     add 515dfef9554 fix(dashboard import): Importing existing dashboard via UI 
won't update charts and datasets (#34880)
     add f03a66db9c9 fix(dataset): apply HOURS OFFSET to all temporal columns, 
not just the time column (#41489)
     add 3a3f087869c fix(native-filters): support double-quote escaping for 
comma in filte… (#39068)
     add 1f81b700c13 chore(ci): upgrade GHA runner image to Ubuntu 26.04 
(#42191)
     add e0d0eb6d020 fix(build): deterministic echarts locale imports; 
fingerprint loaded config (#42154)
     add 15bc73facf4 test(table): add regression test for pagination reset on 
cell click (#42155)
     add 9178faf9b1b refactor: set cascade_backrefs=False for Query (#42210)
     add 48faca5b8de refactor: set cascade_backrefs=False for SqlaTable (#42213)
     add d65a816b398 chore(lint): toggle `import/no-named-as-default` to error 
level + fix all violations (#42214)
     add 940e2c34a25 fix(Calendar Heatmap): Add Back chart options for Calendar 
Heatmap (#26230)
     add 64053271e87 fix(views): remove stray space in @deprecated new_target 
log message (#42218)
     add 590357731b2 feat(ci): cancel CI runs when hold label applied, re-run 
on removal (#40387)
     add 158e3219922 chore(deps): bump axios from 1.16.0 to 1.18.1 in 
/superset-frontend (#42251)
     add b3757870cce fix(sqllab): apply SQL_QUERY_MUTATOR in SQL Lab when 
MUTATE_AFTER_SPLIT is set (#41127)
     add abd6dc8e448 refactor: set cascade_backrefs=False for SavedQuery 
(#42212)
     add 034823e99b6 chore: replace deprecated 
datetime.utcnow()/utcfromtimestamp() (#41502)
     add b4529c2654f feat: add distance unit (#24444)
     add 4b659da5c4c fix(reports): positive per-tile chart readiness check for 
tiled screenshots (#42119)
     add 8296fe8ce46 fix(home): restore navigation for saved query cards 
(#41912)
     add e4005f02c6b fix(sqla): render Jinja templates in calculated columns 
used via orderby adhoc metrics (#41870)
     add 2d3cbc162e4 fix(db_engine_specs): map var_string to STRING for 
MySQL/StarRocks (#41868)
     add a1d4cda0cb6 chore(deps-dev): bump typescript-eslint from 8.63.0 to 
8.64.0 in /docs in the typescript-eslint group (#42259)
     add bafe5ad9ba3 chore(deps): bump actions/setup-java from 5.5.0 to 5.6.0 
(#42260)
     add f7517168675 fix(trino): quote nested ROW field paths per-segment in 
physical column expressions (#41946)
     add 6c58afe6ac4 refactor: do not cascade to TableColumn (#42222)
     add 00cb3037e76 feat(dashboard): export dashboard chart data to Excel 
(async, S3 + email) (#41133)
     add 5efbd5b157a chore(deps-dev): bump brace-expansion from 5.0.6 to 5.0.7 
in /superset-websocket (#42267)
     add 7f4d151a37d chore(deps): bump body-parser from 2.2.1 to 2.3.0 in 
/superset-websocket/utils/client-ws-app (#42264)
     add 3fa7cc59862 chore(deps): bump react-diff-viewer-continued from 4.3.0 
to 4.4.0 in /superset-frontend (#42263)
     add 666b6805c40 test(sql): prove Oracle GROUP BY stays explicit for 
virtual-dataset charts (#42255)
     add b362d360193 chore: remove deck.gl JavaScript tooltip controls and 
ENABLE_JAVASCRIPT_CONTROLS (#42126)
     add df34b5d2775 fix(drill-detail): paginate Elasticsearch samples via 
engine cursor (#39509)
     add 1a862476e1e fix(dashboard): add cacheKey, dashboardId, and format 
context to screenshot download error logs (#42121)
     add f999afaac01 fix(mcp): coerce float rowcount to int in ChartData to 
prevent PydanticSerializationError (#42140)
     add e1a265447f6 fix(charts): use chart name in CSV/XLSX/zip export 
filenames (#42193)
     add f9378baba8d test(sqla): add the jinja orderby calculated column to the 
session (#42274)
     add 706a65cb028 fix(docs): allow *.run.app in CSP for the Kapa widget 
backend (#42276)
     add f2967264d28 fix(ci): diff pre-commit changed files against the live 
base branch tip (#42152)
     add 40a13883ea6 refactor: do not cascade to SqlMetric (#42221)
     add 0dd06f3b7b3 fix: dashboard filter regress (#35218)
     add 34ebe3d22ad feat(extensions): add a Storage API for extensions (#39171)
     add e5c418a1878 fix(mcp): normalize bracket-shorthand time ranges in 
query_dataset (#42144)
     add b97a7f5f945 chore(deps-dev): bump fast-uri from 3.1.2 to 3.1.4 in 
/superset-embedded-sdk (#42282)
     add cfac7855416 chore(deps): bump fuse.js from 7.4.2 to 7.5.0 in 
/superset-frontend (#42262)
     add c95c8086f5b chore(deps-dev): bump webpack-bundle-analyzer from 5.3.0 
to 5.3.1 in /superset-frontend (#42261)
     add 8329481c2e9 chore(deps-dev): bump the typescript-eslint group across 1 
directory with 2 updates (#42258)
     add 1b882c1f47d test(explore): cover annotation layer link app-root prefix 
in subdire… (#41997)
     add ab8e23d8749 chore(deps-dev): bump svgo from 3.3.3 to 3.3.4 in 
/superset-frontend (#42285)
     add 15d7d365804 chore: remove deprecated from_dttm and to_dttm jinja vars 
(#42279)
     add 2ddea33bb68 fix(models): inline calculated column expression in 
raw-records queries (#34784) (#42040)
     add d62dbdb6940 fix(chat): prevent main content reload when toggling chat 
panel (#42143)
     add 8b1ef3a4cba feat(helm): Add annotations to secrets manifests (#40803)
     add 072ff014062 fix: disable recaptcha for LDAP authentication (#36857)
     add 9c08240fdc8 chore(deps): bump dompurify from 3.4.11 to 3.4.12 in /docs 
(#42287)
     add cae61b51e12 fix(cache): QueryCacheManager.get() should fail open on 
cache backend errors (#42252)
     add 37ef2f381ec chore(deps): bump fast-uri from 3.1.3 to 3.1.4 in /docs 
(#42294)
     add 936b8a84ae7 chore(deps): bump fast-uri from 3.1.3 to 3.1.4 in 
/superset-frontend (#42293)
     add db1959b9b61 chore(deps): bump fast-uri from 3.1.2 to 3.1.4 in 
/superset-frontend/cypress-base (#42292)
     add 60a7c18204b chore(deps): bump svgo from 3.3.3 to 3.3.4 in /docs 
(#42286)
     add 788165b5bbb fix(frontend): jest testRegex matches Windows path 
separators (#41863)
     add a086b2eae9b fix(clickhouse): retry adhoc column type probe with 
comment-safe SQL (#42298)
     add 1392fbc9b24 fix(sql): validate Custom SQL metric has an aggregate 
under GROUP BY (#42199)
     add b71b58e8214 fix(explore): render stopped state when a chart query is 
cancelled (#42270)
     add 46c5e30533d chore(deps-dev): bump oxlint from 1.73.0 to 1.74.0 in 
/superset-frontend (#42304)
     add 248f6e10640 chore(deps): bump zizmorcore/zizmor-action from 0.5.7 to 
0.6.0 (#42302)
     add 6e1954fd51c chore(deps): bump ws from 8.21.0 to 8.21.1 in 
/superset-websocket (#42301)
     add b8f3b768d4f fix(sqllab): Fall back to empty editor tab when linked 
query no longer exists (#42241)
     add 1c0f259e380 refactor(mcp): dedupe list-tool schemas and delete dead 
middleware (#41923)
     add 10ff4707021 fix(ag-grid-table): respect row limit with server 
pagination (#41346)
     add c5935b6904d feat(table/pivot-table): correct non-additive 
totals/subtotals via DB rollup [SIP-216] (#41184)
     add 8c5d465a658 feat(datasets): add RLS filter indicator badge to dataset 
list and explore view (#38807)
     add be5744c4317 fix(chart): updates counties of kenya map (#38019)
     add f50b7b71542 chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 
(#42303)
     add ac41f61d4ab chore(deps): bump nanoid from 5.0.9 to 6.0.0 in 
/superset-frontend (#42230)
     add 49b42431292 test(dashboard): migrate dashboard load smoke test to 
Playwright (#41432)
     add 894c0191d64 fix(superset_app_root): when used with oauth (#38033)
     add 19159d58c80 refactor: engine enforce SQLAlchemy 2.0 (#42277)
     add 40d9e7d0485 fix(ag-grid-table): avoid ambiguous build query import 
(#42313)
     add 641713f6237 fix: Revert "chore(deps): bump echarts from 5.6.0 to 6.1.0 
in /superset-frontend" (#42314)
     add 8d034ef65ca fix(plugin-chart-echarts): import the -obj locale build so 
time axes render (#42317)
     add e075133a833 fix(pandas_postprocessing): avoid FutureWarning for 
max/min in boxplot MINMAX (#42272)
     add 32937f24d25 fix(heatmap): correct tooltip axis value lookup and 
percentage calculations and add tests (#41864)
     add 17bd286ae9b fix(forecast): resolve time grain robustly for Prophet 
forecasting (#42145)
     add 3ed8889a010 fix: Added PostgreSQL 17.X to the supported database 
versions table in (#42280)
     add ef459c21e82 fix(helm): add MCP HTTPRoute configuration (#42219)
     add 8db513a5b3f fix(reports): time-budget tiled screenshot to fail cleanly 
instead of hitting Celery kill
     add c8bf18da7ff fix(reports): downgrade tile-wait-budget logs to WARNING 
and add execution-id tracing
     add fb410b39e64 fix(reports): retrofit execution-id/cache-key tracing onto 
existing screenshot-capture logs
     add 6dfa700853a fix(reports): derive tile-wait budget from the running 
Celery task's own time limit
     add 98e3f2854bc fix(mcp): accept log_context in 
PooledBaseScreenshot.get_screenshot override
     add d64e368bf4c chore(reports): lint fixups after rebase onto master

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (573b8a44ee3)
            \
             N -- N -- N   refs/heads/fix-tile-wait-budget (d64e368bf4c)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/ISSUE_TEMPLATE/bug-report.yml              |    3 +-
 .github/dependabot.yml                             |   39 +-
 .github/workflows/bump-python-package.yml          |    4 +-
 .github/workflows/check-python-deps.yml            |    2 +-
 .github/workflows/check_db_migration_confict.yml   |    2 +-
 .github/workflows/codeql-analysis.yml              |    4 +-
 .github/workflows/dependency-review.yml            |    4 +-
 .github/workflows/docker.yml                       |   19 +-
 .github/workflows/embedded-sdk-release.yml         |    4 +-
 .github/workflows/embedded-sdk-test.yml            |    4 +-
 .github/workflows/generate-FOSSA-report.yml        |    6 +-
 .github/workflows/github-action-validator.yml      |    6 +-
 .github/workflows/hold-label-ci-gate.yml           |  115 +
 .github/workflows/issue_creation.yml               |    2 +-
 .github/workflows/labeler.yml                      |    2 +-
 .github/workflows/latest-release-tag.yml           |    2 +-
 .github/workflows/license-check.yml                |    4 +-
 .github/workflows/no-hold-label.yml                |    2 +-
 .github/workflows/pr-lint.yml                      |   12 +-
 .github/workflows/pre-commit.yml                   |   26 +-
 .github/workflows/release.yml                      |    6 +-
 .../workflows/scheduled-docker-image-refresh.yml   |   10 +-
 .github/workflows/superset-app-cli.yml             |    2 +-
 .github/workflows/superset-docs-deploy.yml         |    8 +-
 .github/workflows/superset-docs-verify.yml         |    8 +-
 .github/workflows/superset-e2e.yml                 |   15 +-
 .github/workflows/superset-extensions-cli.yml      |    2 +-
 .github/workflows/superset-frontend.yml            |   14 +-
 ...t-helm-lint.yml => superset-helm-lint-test.yml} |   19 +-
 .github/workflows/superset-helm-release.yml        |    2 +-
 .github/workflows/superset-playwright.yml          |    6 +-
 .../workflows/superset-python-integrationtest.yml  |   10 +-
 .github/workflows/superset-python-presto-hive.yml  |    6 +-
 .github/workflows/superset-python-unittest.yml     |    6 +-
 .../workflows/superset-translations-comment.yml    |    2 +-
 .github/workflows/superset-translations.yml        |    6 +-
 .github/workflows/superset-websocket.yml           |    4 +-
 .github/workflows/supersetbot.yml                  |    2 +-
 .github/workflows/tag-release.yml                  |   12 +-
 .github/workflows/tech-debt.yml                    |    6 +-
 .github/workflows/welcome-new-users.yml            |    2 +-
 .pre-commit-config.yaml                            |    7 +-
 Makefile                                           |    6 +-
 RELEASING/Dockerfile.from_local_tarball            |    2 +-
 RELEASING/Dockerfile.from_svn_tarball              |    2 +-
 RELEASING/Dockerfile.make_docs                     |    2 +-
 RELEASING/Dockerfile.make_tarball                  |    2 +-
 UPDATING.md                                        |  134 +
 docker-compose-light.yml                           |    2 +-
 docker-compose-non-dev.yml                         |    2 +-
 docker-compose.yml                                 |    2 +-
 docker/pythonpath_dev/superset_config.py           |    1 +
 docs/admin_docs/configuration/alerts-reports.mdx   |    2 +-
 .../configuration/configuring-superset.mdx         |    8 +-
 docs/admin_docs/configuration/mcp-server.mdx       |    2 +-
 docs/admin_docs/configuration/sql-templating.mdx   |   80 +-
 .../contributing/development-setup.md              |    2 +-
 .../developer_docs/contributing/issue-reporting.md |    4 +-
 docs/developer_docs/extensions/architecture.md     |   36 +-
 docs/developer_docs/extensions/overview.md         |   21 +-
 docs/developer_docs/extensions/quick-start.md      |   13 +-
 docs/developer_docs/extensions/storage.md          |  465 +
 docs/developer_docs/index.md                       |    2 +-
 .../using-superset/exporting-dashboard-data.mdx    |   99 +
 docs/docs/using-superset/sql-templating.mdx        |   18 +-
 docs/package.json                                  |   40 +-
 docs/sidebarTutorials.js                           |    2 +
 docs/src/data/databases.json                       |    2 +-
 docs/static/.htaccess                              |    3 +-
 docs/static/feature-flags.json                     |    6 -
 .../version-6.0.0/configuration/alerts-reports.mdx |    2 +-
 docs/yarn.lock                                     |  949 +-
 helm/superset/Chart.yaml                           |    2 +-
 helm/superset/README.md                            |   78 +-
 helm/superset/templates/_helpers.tpl               |    6 +
 helm/superset/templates/deployment-beat.yaml       |    8 +-
 helm/superset/templates/deployment-flower.yaml     |    8 +-
 ...{deployment-worker.yaml => deployment-mcp.yaml} |  107 +-
 helm/superset/templates/deployment-worker.yaml     |    8 +-
 helm/superset/templates/deployment-ws.yaml         |    9 +
 helm/superset/templates/deployment.yaml            |    8 +-
 helm/superset/templates/httproute.yaml             |   95 +
 helm/superset/templates/ingress.yaml               |    9 +
 helm/superset/templates/init-job.yaml              |    8 +-
 .../templates/{secret-ws.yaml => pdb-mcp.yaml}     |   30 +-
 helm/superset/templates/secret-env.yaml            |    3 +
 .../superset/templates/secret-superset-config.yaml |    3 +
 helm/superset/templates/secret-ws.yaml             |    3 +
 helm/superset/templates/service-mcp.yaml           |   46 +
 helm/superset/tests/checksum_test.yaml             |   22 +
 helm/superset/tests/httproute_test.yaml            |   92 +
 helm/superset/tests/init_containers_test.yaml      |  206 +
 helm/superset/tests/labels_test.yaml               |  119 +
 helm/superset/values.yaml                          |  228 +
 pyproject.toml                                     |   29 +-
 pytest.ini                                         |   12 +-
 requirements/base.txt                              |   11 +-
 requirements/development.txt                       |   29 +-
 .../superset_core/common => scripts}/__init__.py   |    0
 scripts/benchmark_migration.py                     |    2 +-
 scripts/change_detector.py                         |   39 +-
 scripts/check-env.py                               |    4 +-
 scripts/translations/backfill_po.py                |   24 +-
 superset-core/README.md                            |    2 +-
 superset-core/pyproject.toml                       |    3 +-
 .../src/superset_core/extensions/context.py        |  119 +
 .../superset_core/extensions/storage/__init__.py   |   79 +
 .../src/superset_core/extensions/storage/dao.py    |   70 +
 .../superset_core/extensions/storage/ephemeral.py  |  162 +
 .../src/superset_core/extensions/storage/models.py |   74 +
 .../superset_core/extensions/storage/persistent.py |  243 +
 .../src/superset_core/extensions/types.py          |   12 +-
 superset-embedded-sdk/package-lock.json            |    6 +-
 superset-extensions-cli/README.md                  |    2 +-
 superset-extensions-cli/pyproject.toml             |    3 +-
 .../src/superset_extensions_cli/cli.py             |    4 -
 .../templates/frontend/webpack.config.js.j2        |    8 +-
 superset-frontend/.storybook/main.mjs              |    2 +-
 superset-frontend/cypress-base/package-lock.json   |   34 +-
 superset-frontend/cypress-base/package.json        |    2 +-
 superset-frontend/jest.config.js                   |    6 +-
 superset-frontend/oxlint.json                      |   19 +-
 superset-frontend/package-lock.json                | 1393 +--
 superset-frontend/package.json                     |   51 +-
 superset-frontend/packages/superset-core/README.md |    1 +
 .../packages/superset-core/package.json            |    6 +-
 .../packages/superset-core/src/common/index.ts     |    2 -
 .../packages/superset-core/src/extensions/index.ts |   71 +
 .../packages/superset-core/src/index.ts            |    1 +
 .../packages/superset-core/src/storage/index.ts    |  218 +
 .../superset-core/src/translation/types/index.ts   |    3 +-
 .../src/operators/prophetOperator.ts               |   31 +-
 .../src/shared-controls/dndControls.tsx            |    4 +-
 .../src/shared-controls/index.ts                   |    3 +-
 .../src/utils/D3Formatting.ts                      |    3 +
 .../test/operators/prophetOperator.test.ts         |  105 +
 .../packages/superset-ui-core/package.json         |    4 +-
 .../Matrixify/MatrixifyGridRenderer.test.tsx       |    3 +-
 .../chart/stories/ChartDataProvider.stories.tsx    |    3 +-
 .../packages/superset-ui-core/src/color/index.ts   |    1 -
 .../src/components/Button/Button.test.tsx          |    2 +-
 .../src/components/DesignSystem.stories.tsx        |    6 +-
 .../DropdownContainer/Overview.stories.tsx         |    6 +-
 .../src/components/Label/Label.test.tsx            |   19 +
 .../src/components/Label/index.tsx                 |   13 +
 .../MetadataBar/MetadataBarOverview.stories.tsx    |   46 +-
 .../src/components/RlsBadge/RlsBadge.test.tsx      |  121 +
 .../src/components/RlsBadge/index.tsx              |  108 +
 .../src/components/Select/AsyncSelect.test.tsx     |   22 +
 .../src/components/Select/AsyncSelect.tsx          |  188 +-
 .../src/components/Select/Select.test.tsx          |  107 +
 .../src/components/Select/Select.tsx               |  212 +-
 .../src/components/Select/utils.test.ts            |  140 +
 .../src/components/Select/utils.tsx                |   75 +-
 .../src/components/Table/TableOverview.stories.tsx |   34 +-
 .../ActionCell/ActionCell.overview.tsx             |    6 +-
 .../superset-ui-core/src/components/index.ts       |    5 +
 .../factories/createLengthFormatter.ts             |   51 +
 .../superset-ui-core/src/number-format/index.ts    |    1 +
 .../superset-ui-core/src/utils/featureFlags.ts     |    2 -
 .../factories/createLengthFormatter.test.ts        |   68 +
 .../test/number-format/index.test.ts               |    2 +
 .../test/query/types/PostProcessing.test.ts        |    4 +-
 .../packages/superset-ui-switchboard/src/index.ts  |    4 +-
 .../generators/docs/docs-screenshots.spec.ts       |    3 +-
 .../playwright/helpers/api/dashboard.ts            |   85 +
 .../playwright/pages/DashboardPage.ts              |    9 +
 .../tests/dashboard/clear-all-filters.spec.ts      |   41 +-
 .../tests/dashboard/dashboard-load.spec.ts         |  257 +
 .../tests/dashboard/delete-display-control.spec.ts |   41 +-
 .../tests/dashboard/gauge-interval-colors.spec.ts  |   38 +-
 .../mixed-chart-dashboard-filters.spec.ts          |   41 +-
 .../tests/embedded/pivot-collapse-state.spec.ts    |   37 +-
 .../legacy-plugin-chart-calendar/src/Calendar.ts   |   16 +-
 .../src/controlPanel.ts                            |   37 +-
 .../src/transformProps.ts                          |    4 +
 .../scripts/Country Map GeoJSON Generator.ipynb    |  Bin 11681332 -> 11683742 
bytes
 .../src/countries/kenya.geojson                    |  Bin 190196 -> 160739 
bytes
 .../plugins/legacy-preset-chart-nvd3/package.json  |    2 +-
 .../src/AgGridTable/index.tsx                      |    2 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   68 +-
 .../src/styles/index.tsx                           |   12 +
 .../src/transformProps.ts                          |   69 +-
 .../src/utils/getCellStyle.ts                      |   10 +-
 .../src/utils/useColDefs.ts                        |   17 +-
 .../test/AgGridTableChart.test.tsx                 |  113 +
 .../test/buildQuery.test.ts                        |  250 +-
 .../test/transformProps.test.ts                    |   50 +
 .../test/utils/getCellStyle.test.ts                |  108 +
 .../src/Heatmap/transformProps.ts                  |   11 +-
 .../src/MixedTimeseries/transformProps.ts          |   26 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |   40 +
 .../plugin-chart-echarts/src/Pie/transformProps.ts |  169 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |   37 +
 .../src/Timeseries/transformProps.ts               |   26 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |   71 +-
 .../plugin-chart-echarts/src/utils/forecast.ts     |   15 +-
 .../plugin-chart-echarts/src/utils/formatters.ts   |   51 +-
 .../test/Heatmap/transformProps.test.ts            |  165 +
 .../test/MixedTimeseries/transformProps.test.ts    |   93 +
 .../test/Pie/transformProps.test.ts                |  255 +-
 .../test/Timeseries/transformProps.test.ts         |   79 +-
 .../test/Timeseries/transformers.test.ts           |    6 +-
 .../test/components/Echart.test.tsx                |   17 +
 .../test/utils/forecast.test.ts                    |   69 +
 .../test/utils/formatters.test.ts                  |  118 +
 .../plugin-chart-echarts/types/external.d.ts       |    8 +
 .../plugins/plugin-chart-pivot-table/package.json  |    4 +
 .../src/PivotTableChart.tsx                        |  109 +-
 .../src/plugin/buildQuery.ts                       |   68 +-
 .../src/plugin/controlPanel.tsx                    |   45 +-
 .../src/plugin/transformProps.ts                   |   74 +-
 .../src/plugin/utilities.ts                        |  242 +
 .../src/react-pivottable/Styles.ts                 |    4 +
 .../src/react-pivottable/TableRenderers.tsx        |   30 +-
 .../src/react-pivottable/utilities.ts              |  194 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |   22 +-
 .../test/PivotTableChart.test.tsx                  |   50 +-
 .../test/TableRenderer.test.tsx                    |  158 +
 .../test/plugin/buildQuery.test.ts                 |   60 +-
 .../test/plugin/transformProps.test.ts             |  153 +-
 .../test/plugin/utilities.test.ts                  |  466 +
 .../react-pivottable/nonAdditiveTotals.test.ts     |   69 +
 .../test/react-pivottable/tableRenders.test.tsx    |  145 +-
 .../plugin-chart-pivot-table/test/testData.ts      |  232 +
 .../test/testHelpers.tsx                           |    0
 .../test/tsconfig.json                             |    0
 .../plugin-chart-point-cluster-map/package.json    |    2 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    3 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    8 +-
 .../plugins/plugin-chart-table/src/index.ts        |    4 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |  143 +
 .../plugin-chart-table/test/buildQuery.test.ts     |   59 +-
 .../src/plugin/controls/ColorSchemeControl.tsx     |    5 +-
 .../src/plugin/controls/RotationControl.tsx        |    6 +-
 .../plugins/preset-chart-deckgl/package.json       |    2 -
 .../src/CategoricalDeckGLContainer.tsx             |    7 -
 .../src/layers/Arc/buildQuery.ts                   |   16 +-
 .../src/layers/Arc/controlPanel.ts                 |   13 -
 .../src/layers/Arc/stories/Arc.stories.tsx         |    7 +-
 .../src/layers/Arc/transformProps.ts               |   17 +-
 .../src/layers/Contour/Contour.tsx                 |   16 +-
 .../src/layers/Contour/controlPanel.ts             |   13 -
 .../src/layers/Geojson/Geojson.test.tsx            |   44 -
 .../src/layers/Geojson/Geojson.tsx                 |  114 +-
 .../src/layers/Geojson/buildQuery.ts               |   14 +-
 .../src/layers/Geojson/controlPanel.ts             |  145 +-
 .../src/layers/Geojson/transformProps.ts           |    6 +-
 .../preset-chart-deckgl/src/layers/Grid/Grid.tsx   |   16 +-
 .../src/layers/Grid/controlPanel.ts                |   13 -
 .../src/layers/Grid/stories/Grid.stories.tsx       |    4 -
 .../src/layers/Heatmap/Heatmap.tsx                 |   18 +-
 .../src/layers/Heatmap/controlPanel.ts             |   13 -
 .../preset-chart-deckgl/src/layers/Hex/Hex.tsx     |   17 +-
 .../src/layers/Hex/controlPanel.ts                 |   13 -
 .../src/layers/Hex/stories/Hex.stories.tsx         |    4 -
 .../preset-chart-deckgl/src/layers/Path/Path.tsx   |   13 +-
 .../src/layers/Path/buildQuery.test.ts             |    2 -
 .../src/layers/Path/buildQuery.ts                  |    9 -
 .../src/layers/Path/controlPanel.ts                |   13 -
 .../src/layers/Path/stories/Path.stories.tsx       |    4 -
 .../src/layers/Path/transformProps.ts              |   15 +-
 .../src/layers/Polygon/Polygon.tsx                 |    9 +-
 .../src/layers/Polygon/buildQuery.test.ts          |   29 +-
 .../src/layers/Polygon/buildQuery.ts               |    9 -
 .../src/layers/Polygon/controlPanel.ts             |   12 +-
 .../src/layers/Polygon/stories/Polygon.stories.tsx |    4 -
 .../src/layers/Polygon/transformProps.ts           |    6 +-
 .../src/layers/Scatter/buildQuery.test.ts          |   17 -
 .../src/layers/Scatter/buildQuery.ts               |   20 +-
 .../src/layers/Scatter/controlPanel.ts             |   13 -
 .../src/layers/Scatter/stories/Scatter.stories.tsx |    4 -
 .../src/layers/Scatter/transformProps.ts           |    5 +-
 .../src/layers/Screengrid/Screengrid.tsx           |   16 +-
 .../src/layers/Screengrid/controlPanel.ts          |   13 -
 .../Screengrid/stories/Screengrid.stories.tsx      |    4 -
 .../src/layers/buildQueryUtils.ts                  |   20 -
 .../preset-chart-deckgl/src/layers/common.test.ts  |    9 +-
 .../preset-chart-deckgl/src/layers/common.tsx      |   17 +-
 .../src/layers/spatialUtils.test.ts                |   19 +-
 .../preset-chart-deckgl/src/layers/spatialUtils.ts |   48 +-
 .../src/utilities/Shared_DeckGL.tsx                |   87 -
 .../src/utils/crossFiltersDataMask.test.ts         |   46 -
 .../src/utils/crossFiltersDataMask.ts              |    8 +-
 .../preset-chart-deckgl/src/utils/sandbox.ts       |   65 -
 .../spec/helpers/mockBootstrapData.ts              |   47 +
 superset-frontend/spec/helpers/testing-library.tsx |   14 +-
 .../src/SqlLab/actions/sqlLab.test.ts              |   63 +-
 .../components/PopEditorTab/PopEditorTab.test.tsx  |   23 +-
 .../src/SqlLab/components/PopEditorTab/index.tsx   |   46 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |    3 +-
 .../components/ScheduleQueryButton/index.tsx       |   13 +-
 .../src/SqlLab/reducers/sqlLab.test.ts             |   35 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.ts    |    8 +-
 .../src/components/Chart/Chart.test.tsx            |   21 +-
 superset-frontend/src/components/Chart/Chart.tsx   |   24 +
 .../ErrorMessage/DatabaseErrorMessage.tsx          |    3 +-
 .../ErrorMessage/ParameterErrorMessage.tsx         |    3 +-
 .../ErrorMessage/TimeoutErrorMessage.tsx           |    3 +-
 .../src/components/ImportModal/index.tsx           |   13 +-
 .../src/components/PanelToolbar/index.tsx          |    5 +-
 .../core/extensions/index.test.ts}                 |   13 +-
 superset-frontend/src/core/extensions/index.ts     |   12 +-
 superset-frontend/src/core/index.ts                |    1 +
 .../src/core/storage/binaryCodec.test.ts           |  109 +
 superset-frontend/src/core/storage/binaryCodec.ts  |   65 +
 .../src/core/storage/ephemeralState.test.ts        |  170 +
 .../src/core/storage/ephemeralState.ts             |  100 +
 .../src => src/core/storage}/index.ts              |   12 +-
 .../src/core/storage/localState.test.ts            |   96 +
 superset-frontend/src/core/storage/localState.ts   |   67 +
 .../src/core/storage/persistentState.test.ts       |  261 +
 .../src/core/storage/persistentState.ts            |  143 +
 .../src/dashboard/actions/hydrate.test.ts          |  276 +
 superset-frontend/src/dashboard/actions/hydrate.ts |   16 +-
 .../src/dashboard/components/Dashboard.tsx         |   16 +-
 .../dashboard/components/Header/Header.test.tsx    |   16 +-
 .../src/dashboard/components/Header/index.tsx      |    1 +
 .../src/dashboard/components/IconButton.test.tsx   |   75 +
 .../src/dashboard/components/IconButton.tsx        |   78 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    8 +-
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |  148 +-
 .../components/menu/DownloadMenuItems/index.tsx    |   71 +-
 .../FilterBar/FilterBarSettings/index.tsx          |    6 +-
 .../FilterConfigurationLink.test.tsx               |   21 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |   10 +
 .../components/nativeFilters/state.test.ts         |   97 +-
 .../dashboard/components/nativeFilters/state.ts    |   60 +-
 .../dashboard/hooks/useDownloadScreenshot.test.ts  |   50 +
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |   12 +-
 .../src/dashboard/reducers/dashboardState.test.ts  |   83 +
 .../dashboard/util/getDefaultActiveTabs.test.ts    |  112 +
 .../src/dashboard/util/getDefaultActiveTabs.ts     |   54 +
 .../src/dashboard/util/permissionUtils.test.ts     |   27 +
 .../src/dashboard/util/permissionUtils.ts          |   19 +-
 .../components/ExploreChartHeader/index.tsx        |    3 +-
 .../ExploreChartHeader/useExploreMetadataBar.tsx   |    3 +-
 .../AnnotationLayer.subdirectory.test.tsx          |   87 +
 .../controls/DatasourceControl/index.tsx           |    6 +
 .../DndColumnMetricSelect.tsx                      |    3 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |    3 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |    3 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |    2 +-
 .../src/extensions/ExtensionContext.test.ts        |   60 +
 .../src/extensions/ExtensionContext.ts             |   78 +
 .../src/extensions/ExtensionsLoader.test.ts        |  267 +-
 .../src/extensions/ExtensionsLoader.ts             |  123 +-
 .../src/extensions/webpackFederation.d.ts          |   63 +
 .../src/features/alerts/AlertReportModal.test.tsx  |   23 +
 .../alerts/components/NotificationMethod.tsx       |    3 +-
 .../NotificationMethodEmailRecipients.test.tsx     |  102 +
 .../src/features/charts/ChartCard.tsx              |   98 +-
 .../src/features/dashboards/DashboardCard.tsx      |   82 +-
 .../databases/DatabaseModal/index.test.tsx         |   54 +
 .../src/features/databases/DatabaseModal/index.tsx |    1 +
 .../src/features/databases/DatabaseModal/styles.ts |    4 -
 .../src/features/home/ChartTable.test.tsx          |    6 +
 superset-frontend/src/features/home/ChartTable.tsx |    6 +-
 .../src/features/home/DashboardTable.test.tsx      |    7 +
 .../src/features/home/DashboardTable.tsx           |    2 +-
 superset-frontend/src/features/home/Menu.test.tsx  |   84 +-
 superset-frontend/src/features/home/Menu.tsx       |   11 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    4 +-
 .../src/features/home/SavedQueries.test.tsx        |  146 +
 .../src/features/home/SavedQueries.tsx             |   24 +-
 .../reports/ReportModal/ReportModal.test.tsx       |    9 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |    8 +-
 .../components/Select/SelectFilterPlugin.tsx       |   11 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |    3 +-
 .../pages/ChartList/ChartList.cardview.test.tsx    |    5 +
 .../pages/ChartList/ChartList.listview.test.tsx    |    5 +
 .../pages/ChartList/ChartList.permissions.test.tsx |   50 +-
 superset-frontend/src/pages/ChartList/index.tsx    |   91 +-
 .../DashboardList/DashboardList.behavior.test.tsx  |    5 +
 .../src/pages/DashboardList/DashboardList.test.tsx |    5 +
 .../src/pages/DashboardList/index.tsx              |   81 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |   98 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |    5 +
 .../DatasetList/DatasetList.listview.test.tsx      |   51 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |   34 +
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |   36 +
 superset-frontend/src/pages/DatasetList/index.tsx  |  145 +-
 superset-frontend/src/pages/Home/index.tsx         |    8 +-
 superset-frontend/src/pages/Login/Login.test.tsx   |  281 +-
 superset-frontend/src/pages/Login/index.tsx        |    7 +-
 .../src/pages/Register/Register.test.tsx           |  105 +-
 .../src/setup/setupFormatters.test.ts              |    1 +
 superset-frontend/src/setup/setupFormatters.ts     |   10 +
 superset-frontend/src/utils/pathUtils.test.ts      |   18 +
 superset-frontend/src/views/App.tsx                |   61 +-
 superset-frontend/src/views/CRUD/hooks.ts          |    4 +
 superset-frontend/src/views/CRUD/types.ts          |    4 +-
 superset-frontend/src/views/CRUD/utils.tsx         |   17 +-
 superset-frontend/src/views/menu.tsx               |    3 +-
 .../src/visualizations/TimeTable/TimeTable.tsx     |   16 +-
 .../components/ValueCell/ValueCell.test.tsx        |  171 +-
 .../TimeTable/components/ValueCell/ValueCell.tsx   |   30 +-
 .../TimeTable/utils/sortUtils/sortUtils.test.ts    |   37 +-
 .../TimeTable/utils/sortUtils/sortUtils.ts         |   46 +-
 superset-frontend/webpack.config.js                |    6 +-
 superset-websocket/package-lock.json               |   38 +-
 superset-websocket/package.json                    |    8 +-
 .../utils/client-ws-app/package-lock.json          |  108 +-
 superset/__init__.py                               |   10 +
 superset/app.py                                    |   19 +-
 superset/async_events/cache_backend.py             |   61 +-
 superset/charts/api.py                             |   85 +-
 superset/charts/client_processing.py               |   44 +-
 superset/charts/data/api.py                        |   50 +-
 superset/charts/data/dashboard_filter_context.py   |   39 +-
 superset/charts/schemas.py                         |   11 +
 superset/cli/importexport.py                       |   34 +-
 superset/cli/test_db.py                            |    3 +
 superset/commands/dashboard/importers/v0.py        |   16 +-
 .../commands/dashboard/importers/v1/__init__.py    |   36 +-
 superset/commands/dataset/duplicate.py             |   11 +-
 superset/commands/dataset/importers/v0.py          |   22 +-
 superset/commands/datasource/list.py               |   23 +
 superset/commands/explore/get.py                   |   21 +
 superset/commands/logs/prune.py                    |    8 +-
 superset/commands/report/execute.py                |   82 +-
 superset/commands/report/log_prune.py              |    8 +-
 superset/common/grouping_sets.py                   |  117 +
 superset/common/query_context_processor.py         |   81 +-
 superset/common/query_object.py                    |    4 +
 superset/common/utils/query_cache_manager.py       |   11 +-
 superset/config.py                                 |  108 +-
 superset/connectors/sqla/models.py                 |   33 +-
 superset/connectors/sqla/utils.py                  |   15 +
 superset/constants.py                              |    1 +
 superset/core/api/core_api_injection.py            |   56 +-
 superset/core/mcp/core_mcp_injection.py            |    6 +-
 superset/daos/dataset.py                           |  358 +-
 superset/daos/log.py                               |    4 +-
 superset/daos/query.py                             |    6 +-
 superset/dashboards/api.py                         |  243 +-
 .../dashboards/excel_export}/__init__.py           |    0
 superset/dashboards/excel_export/email.py          |  180 +
 superset/dashboards/excel_export/layout.py         |   97 +
 superset/dashboards/excel_export/screenshot.py     |  103 +
 superset/dashboards/schemas.py                     |   29 +-
 superset/databases/schemas.py                      |    8 +
 superset/datasets/api.py                           |  153 +-
 superset/db_engine_specs/base.py                   |   63 +
 superset/db_engine_specs/bigquery.py               |    7 +-
 superset/db_engine_specs/clickhouse.py             |   12 +
 superset/db_engine_specs/crate.py                  |    2 +-
 superset/db_engine_specs/elasticsearch.py          |  146 +-
 superset/db_engine_specs/gsheets.py                |    1 +
 superset/db_engine_specs/hive.py                   |    5 +
 superset/db_engine_specs/mysql.py                  |    5 +
 superset/db_engine_specs/postgres.py               |    1 +
 superset/db_engine_specs/presto.py                 |   17 +-
 superset/db_engine_specs/snowflake.py              |    1 +
 superset/db_engine_specs/starrocks.py              |    5 +
 superset/db_engine_specs/trino.py                  |    8 +-
 superset/embedded/view.py                          |    3 +
 superset/examples/birth_names.py                   |   15 +-
 .../examples/deckgl_demo/charts/Deck.gl_Path.yaml  |    6 -
 .../deckgl_demo/charts/Deck.gl_Polygons.yaml       |    4 -
 superset/examples/generic_loader.py                |   11 +-
 superset/examples/world_bank.py                    |    6 +-
 superset/explore/schemas.py                        |   35 +
 superset/extensions/context.py                     |  136 +-
 .../storage/__init__.py}                           |   18 +-
 superset/extensions/storage/api.py                 |  744 ++
 superset/extensions/storage/codecs.py              |   68 +
 superset/extensions/storage/ephemeral.py           |  141 +
 superset/extensions/storage/ephemeral_dao.py       |  161 +
 superset/extensions/storage/filters.py             |   45 +
 superset/extensions/storage/persistent.py          |  244 +
 superset/extensions/storage/persistent_dao.py      |  655 ++
 superset/extensions/storage/persistent_model.py    |  139 +
 superset/extensions/storage/utils.py               |  112 +
 superset/initialization/__init__.py                |    2 +
 superset/jinja_context.py                          |   43 +-
 superset/key_value/types.py                        |   17 +
 superset/mcp_service/CLAUDE.md                     |    8 +-
 superset/mcp_service/README.md                     |    2 +-
 superset/mcp_service/annotation_layer/schemas.py   |  167 +-
 superset/mcp_service/app.py                        |   44 +-
 superset/mcp_service/chart/chart_helpers.py        |    4 -
 superset/mcp_service/chart/chart_utils.py          |   38 +-
 superset/mcp_service/chart/plugins/__init__.py     |    3 +
 superset/mcp_service/chart/plugins/waterfall.py    |  186 +
 superset/mcp_service/chart/schemas.py              |  259 +-
 superset/mcp_service/chart/tool/generate_chart.py  |   76 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    3 +
 .../mcp_service/chart/tool/get_chart_preview.py    |    3 +
 .../chart/tool/get_chart_type_schema.py            |   20 +-
 superset/mcp_service/chart/tool/list_charts.py     |   11 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    2 +-
 .../chart/validation/dataset_validator.py          |    7 +-
 superset/mcp_service/common/pagination_schemas.py  |  182 +
 superset/mcp_service/dashboard/schemas.py          |  512 +-
 superset/mcp_service/dashboard/tool/__init__.py    |    6 +
 .../mcp_service/dashboard/tool/governance_utils.py |  120 +
 .../mcp_service/dashboard/tool/list_dashboards.py  |    2 +-
 .../tool/manage_dashboard_certification.py         |  155 +
 .../dashboard/tool/manage_dashboard_owners.py      |  383 +
 .../dashboard/tool/manage_dashboard_roles.py       |  326 +
 .../mcp_service/dashboard/tool/update_dashboard.py |    2 +-
 superset/mcp_service/database/schemas.py           |  126 +-
 superset/mcp_service/dataset/schemas.py            |  163 +-
 superset/mcp_service/mcp_config.py                 |   19 +-
 superset/mcp_service/middleware.py                 |  495 +-
 superset/mcp_service/query/schemas.py              |  109 +-
 superset/mcp_service/report/schemas.py             |  122 +-
 superset/mcp_service/rls/schemas.py                |   89 +-
 superset/mcp_service/role/schemas.py               |  109 +-
 superset/mcp_service/saved_query/schemas.py        |  131 +-
 .../mcp_service/screenshot/pooled_screenshot.py    |    8 +-
 superset/mcp_service/server.py                     |   17 +
 superset/mcp_service/storage.py                    |   11 +-
 superset/mcp_service/tag/schemas.py                |  103 +-
 superset/mcp_service/task/schemas.py               |  103 +-
 superset/mcp_service/theme/schemas.py              |  100 +-
 superset/mcp_service/user/schemas.py               |  109 +-
 superset/mcp_service/utils/permissions_utils.py    |  289 +-
 superset/middleware/legacy_prefix_redirect.py      |   10 +-
 ...13_10-20_4451805bbaa1_remove_double_percents.py |   58 +-
 ...-00_e5f6a7b8c9d0_add_extension_storage_table.py |  109 +
 superset/models/core.py                            |    7 +-
 superset/models/helpers.py                         |  408 +-
 superset/models/sql_lab.py                         |   25 +-
 superset/reports/notifications/email.py            |   49 +-
 superset/security/manager.py                       |    6 +-
 superset/sql/execution/celery_task.py              |   44 +-
 superset/sql/execution/executor.py                 |  117 +-
 superset/sql/parse.py                              |   25 +
 superset/sql_lab.py                                |   29 +-
 superset/subjects/utils.py                         |   35 +
 superset/superset_typing.py                        |    8 +
 superset/tags/models.py                            |   12 +-
 superset/tasks/decorators.py                       |    4 +-
 superset/tasks/export_dashboard_excel.py           |  361 +
 superset/templates/superset/spa.html               |    6 +
 superset/translations/ar/LC_MESSAGES/messages.po   |  527 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |  521 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |  510 +-
 superset/translations/de/LC_MESSAGES/messages.po   |  516 +-
 superset/translations/en/LC_MESSAGES/messages.po   |  466 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  518 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  527 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |  558 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  526 +-
 superset/translations/it/LC_MESSAGES/messages.po   |  550 +-
 superset/translations/ja/LC_MESSAGES/messages.po   | 2295 +++--
 superset/translations/ko/LC_MESSAGES/messages.po   |  540 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |  501 +-
 superset/translations/messages.pot                 |  445 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |  520 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |  526 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |  524 +-
 superset/translations/pt/LC_MESSAGES/messages.po   | 9917 +++++++-------------
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  528 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |  521 +-
 superset/translations/ru/LC_MESSAGES/messages.po   | 1874 ++--
 superset/translations/sk/LC_MESSAGES/messages.po   |  512 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |  526 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |  525 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |  523 +-
 superset/translations/th/LC_MESSAGES/messages.po   |  553 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |  519 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |  514 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |  503 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  503 +-
 superset/utils/backports.py                        |   11 +-
 superset/utils/cache.py                            |   10 +-
 superset/utils/cache_manager.py                    |   28 +-
 superset/utils/core.py                             |   46 +-
 superset/utils/date_parser.py                      |   77 +-
 superset/utils/dates.py                            |    4 +-
 superset/utils/encrypt.py                          |   87 +
 superset/utils/excel.py                            |    9 +-
 superset/utils/excel_streaming.py                  |  250 +
 superset/utils/pandas_postprocessing/boxplot.py    |   18 +-
 superset/utils/pandas_postprocessing/prophet.py    |    2 +-
 superset/utils/pandas_sqlalchemy_compat.py         |   80 +
 superset/utils/s3.py                               |   83 +
 superset/utils/screenshot_utils.py                 |  160 +-
 superset/utils/webdriver.py                        |    2 +-
 superset/versioning/activity/__init__.py           |  102 +
 superset/versioning/activity/impact.py             |  186 +
 superset/versioning/activity/kinds.py              |  210 +
 superset/versioning/activity/orchestrator.py       |  434 +
 superset/versioning/activity/queries.py            |  870 ++
 superset/versioning/activity/render.py             |  285 +
 superset/versioning/activity/scope.py              |  138 +
 superset/versioning/activity/visibility.py         |  206 +
 superset/versioning/activity/windows.py            |  108 +
 superset/versioning/api_helpers.py                 |  127 +-
 superset/versioning/changes/listener.py            |   26 +
 superset/versioning/diff.py                        |    8 +-
 superset/versioning/schemas.py                     |  332 +-
 superset/views/base.py                             |    7 +-
 superset/views/core.py                             |    1 +
 superset/views/datasource/utils.py                 |   85 +-
 superset/views/utils.py                            |   21 +-
 tests/integration_tests/charts/commands_tests.py   |    4 -
 tests/integration_tests/cli_tests.py               |  118 +-
 tests/integration_tests/conftest.py                |   84 +-
 tests/integration_tests/dao/conftest.py            |    1 +
 tests/integration_tests/dashboards/api_tests.py    |  169 +
 tests/integration_tests/databases/api_tests.py     |    8 +
 tests/integration_tests/datasets/api_tests.py      |    4 +
 tests/integration_tests/datasource_tests.py        |   15 +-
 .../db_engine_specs/base_engine_spec_tests.py      |   51 +-
 .../db_engine_specs/bigquery_tests.py              |    4 +-
 .../db_engine_specs/datastore_tests.py             |    4 +-
 tests/integration_tests/fixtures/datasource.py     |    5 +-
 .../fixtures/deck_geojson_form_data.json           |    6 -
 .../fixtures/deck_path_form_data.json              |    6 -
 .../integration_tests/fixtures/energy_dashboard.py |    6 +-
 tests/integration_tests/fixtures/importexport.py   |    4 -
 tests/integration_tests/import_export_tests.py     |    4 +-
 .../composite_pk_association_tables__tests.py      |    4 +-
 .../migrations/composite_pk_round_trip__tests.py   |    6 +-
 .../integration_tests/non_additive_totals_tests.py |  315 +
 tests/integration_tests/query_context_tests.py     |   11 +-
 tests/integration_tests/reports/commands_tests.py  |    4 +-
 tests/integration_tests/sqla_models_tests.py       |   88 +-
 tests/integration_tests/sqllab_tests.py            |    6 +
 .../versioning/activity_view_tests.py              | 1256 +++
 .../versioning/change_records_tests.py             |  718 ++
 .../versioning/perf_validation_tests.py            |  423 +
 tests/integration_tests/viz_tests.py               |    5 +-
 .../unit_tests/async_events/test_cache_backend.py  |  148 +
 tests/unit_tests/charts/test_chart_data_api.py     |  129 +-
 tests/unit_tests/charts/test_client_processing.py  |   96 +
 .../charts/test_dashboard_filter_context.py        |  172 +
 tests/unit_tests/charts/test_filters.py            |    3 +-
 .../unit_tests/charts/test_non_additive_totals.py  |  136 +
 .../commands/dashboard/importers/v1/assets_test.py |  215 +
 tests/unit_tests/commands/datasource/list_test.py  |   60 +-
 .../commands/explore/test_get_explore_rls.py       |  123 +
 tests/unit_tests/commands/report/execute_test.py   |  208 +
 tests/unit_tests/common/test_grouping_sets.py      |  112 +
 .../unit_tests/common/test_query_cache_manager.py  |   57 +
 .../common/test_query_context_processor.py         |  403 +-
 tests/unit_tests/common/test_time_shifts.py        |  399 +-
 tests/unit_tests/conftest.py                       |    2 +-
 tests/unit_tests/connectors/sqla/models_test.py    |   97 +-
 tests/unit_tests/connectors/sqla/utils_test.py     |  103 +-
 tests/unit_tests/dao/dataset_rls_test.py           |  496 +
 .../dashboards/commands/importers/v0}/__init__.py  |    0
 .../commands/importers/v0/import_test.py           |   92 +
 .../dashboards/test_excel_export_email.py          |  157 +
 .../dashboards/test_excel_export_layout.py         |  105 +
 .../dashboards/test_excel_export_screenshot.py     |  164 +
 tests/unit_tests/databases/api_test.py             |    2 +
 tests/unit_tests/databases/filters_test.py         |    4 +-
 .../unit_tests/databases/test_schemas.py           |   31 +-
 .../datasets/commands/importers/v0}/__init__.py    |    0
 .../datasets/commands/importers/v0/import_test.py  |   77 +
 tests/unit_tests/db_engine_specs/test_base.py      |   23 +
 tests/unit_tests/db_engine_specs/test_bigquery.py  |   72 +
 .../unit_tests/db_engine_specs/test_clickhouse.py  |   50 +
 .../db_engine_specs/test_elasticsearch.py          |  376 +
 .../test_grouping_sets_capability.py               |   59 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |    2 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |    1 +
 tests/unit_tests/db_engine_specs/test_presto.py    |   66 +
 tests/unit_tests/db_engine_specs/test_sqlite.py    |    2 +-
 tests/unit_tests/db_engine_specs/test_starrocks.py |    1 +
 tests/unit_tests/db_engine_specs/test_trino.py     |    5 +
 .../unit_tests/extensions/storage}/__init__.py     |    0
 tests/unit_tests/extensions/storage/conftest.py    |   64 +
 tests/unit_tests/extensions/storage/test_api.py    | 1146 +++
 tests/unit_tests/extensions/storage/test_codecs.py |   94 +
 .../unit_tests/extensions/storage/test_context.py  |  124 +
 .../extensions/storage/test_ephemeral.py           |  276 +
 .../extensions/storage/test_ephemeral_dao.py       |  323 +
 .../unit_tests/extensions/storage/test_filters.py  |   78 +
 .../extensions/storage/test_persistent.py          |  318 +
 .../extensions/storage/test_persistent_dao.py      |  957 ++
 tests/unit_tests/extensions/storage/test_utils.py  |  219 +
 tests/unit_tests/extensions/test_sqlalchemy.py     |   12 +-
 tests/unit_tests/jinja_context_test.py             |  130 +
 tests/unit_tests/key_value/codec_test.py           |   14 +
 .../mcp_service/chart/test_chart_helpers.py        |   12 +-
 .../mcp_service/chart/test_waterfall_chart.py      |  316 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |   58 +
 .../chart/tool/test_get_chart_type_schema.py       |    9 +-
 .../mcp_service/dashboard/tool/conftest.py         |   32 +-
 .../tool/test_manage_dashboard_certification.py    |  365 +
 .../dashboard/tool/test_manage_dashboard_owners.py |  639 ++
 .../dashboard/tool/test_manage_dashboard_roles.py  |  573 ++
 .../mcp_service/dataset/test_dataset_schemas.py    |   15 +
 .../mcp_service/dataset/tool/test_query_dataset.py |  321 +
 .../mcp_service/system/resources}/__init__.py      |    0
 .../system/resources/test_schema_discovery.py      |  133 +
 tests/unit_tests/mcp_service/test_mcp_server.py    |   60 +
 .../mcp_service/utils/test_permissions_utils.py    |  107 -
 .../composite_pk_association_tables_test.py        |    2 +-
 .../test_add_deleted_at_to_dashboards.py           |    2 +-
 .../migrations/test_add_deleted_at_to_slices.py    |    2 +-
 .../migrations/test_add_deleted_at_to_tables.py    |    2 +-
 ...rip_metricsqlexpressions_from_ag_grid_params.py |    2 +-
 tests/unit_tests/models/core_test.py               |   93 +-
 tests/unit_tests/models/helpers_test.py            |  751 +-
 .../models/owner_association_tables_test.py        |    2 +-
 tests/unit_tests/models/test_helpers_offset.py     |  125 +
 .../pandas_postprocessing/test_boxplot.py          |   46 +
 .../pandas_postprocessing/test_prophet.py          |   34 +
 tests/unit_tests/queries/query_object_test.py      |    1 +
 .../reports/notifications/email_tests.py           |  118 +-
 tests/unit_tests/scripts/change_detector_test.py   |   96 +
 .../scripts/translations/backfill_po_test.py       |   18 +
 .../security/exclude_users_filter_test.py          |    2 +-
 .../unit_tests/semantic_layers/decorators_test.py  |    4 +-
 tests/unit_tests/sql/execution/conftest.py         |   11 +
 tests/unit_tests/sql/execution/test_celery_task.py |  199 +-
 tests/unit_tests/sql/execution/test_executor.py    |  111 +-
 tests/unit_tests/sql/parse_tests.py                |   56 +
 tests/unit_tests/sql_lab_test.py                   |  210 +
 tests/unit_tests/subjects/test_utils.py            |   56 +
 .../tasks/test_export_dashboard_excel.py           |  401 +
 tests/unit_tests/utils/date_parser_tests.py        |  107 +
 tests/unit_tests/utils/excel_streaming_tests.py    |  267 +
 tests/unit_tests/utils/filters_test.py             |    9 +-
 .../utils/pandas_sqlalchemy_compat_test.py         |   67 +
 tests/unit_tests/utils/s3_tests.py                 |   95 +
 tests/unit_tests/utils/test_core.py                |   38 +
 tests/unit_tests/utils/test_screenshot_utils.py    |  290 +-
 tests/unit_tests/versioning/test_activity.py       |  827 ++
 tests/unit_tests/versioning/test_listener.py       |    2 +-
 .../common => tests/unit_tests/views}/__init__.py  |    0
 tests/unit_tests/views/datasource/test_utils.py    |  396 +
 tests/unit_tests/views/test_base.py                |   19 +
 tests/unit_tests/views/test_bootstrap_auth.py      |   49 +-
 tests/unit_tests/views/test_utils.py               |   48 -
 732 files changed, 61174 insertions(+), 19616 deletions(-)
 create mode 100644 .github/workflows/hold-label-ci-gate.yml
 rename .github/workflows/{superset-helm-lint.yml => 
superset-helm-lint-test.yml} (69%)
 create mode 100644 docs/developer_docs/extensions/storage.md
 create mode 100644 docs/docs/using-superset/exporting-dashboard-data.mdx
 copy helm/superset/templates/{deployment-worker.yaml => deployment-mcp.yaml} 
(61%)
 create mode 100644 helm/superset/templates/httproute.yaml
 copy helm/superset/templates/{secret-ws.yaml => pdb-mcp.yaml} (55%)
 create mode 100644 helm/superset/templates/service-mcp.yaml
 create mode 100644 helm/superset/tests/httproute_test.yaml
 create mode 100644 helm/superset/tests/init_containers_test.yaml
 copy {superset-core/src/superset_core/common => scripts}/__init__.py (100%)
 create mode 100644 superset-core/src/superset_core/extensions/context.py
 create mode 100644 
superset-core/src/superset_core/extensions/storage/__init__.py
 create mode 100644 superset-core/src/superset_core/extensions/storage/dao.py
 create mode 100644 
superset-core/src/superset_core/extensions/storage/ephemeral.py
 create mode 100644 superset-core/src/superset_core/extensions/storage/models.py
 create mode 100644 
superset-core/src/superset_core/extensions/storage/persistent.py
 create mode 100644 
superset-frontend/packages/superset-core/src/storage/index.ts
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/RlsBadge/RlsBadge.test.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/RlsBadge/index.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/Select/utils.test.ts
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/number-format/factories/createLengthFormatter.ts
 create mode 100644 
superset-frontend/packages/superset-ui-core/test/number-format/factories/createLengthFormatter.test.ts
 create mode 100644 
superset-frontend/playwright/tests/dashboard/dashboard-load.spec.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/getCellStyle.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/src/plugin/utilities.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/test/TableRenderer.test.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/utilities.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/test/react-pivottable/nonAdditiveTotals.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/test/testData.ts
 copy superset-frontend/plugins/{plugin-chart-table => 
plugin-chart-pivot-table}/test/testHelpers.tsx (100%)
 copy superset-frontend/plugins/{plugin-chart-table => 
plugin-chart-pivot-table}/test/tsconfig.json (100%)
 delete mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/utils/sandbox.ts
 create mode 100644 superset-frontend/spec/helpers/mockBootstrapData.ts
 copy superset-frontend/{plugins/plugin-chart-echarts/types/external.d.ts => 
src/core/extensions/index.test.ts} (75%)
 create mode 100644 superset-frontend/src/core/storage/binaryCodec.test.ts
 create mode 100644 superset-frontend/src/core/storage/binaryCodec.ts
 create mode 100644 superset-frontend/src/core/storage/ephemeralState.test.ts
 create mode 100644 superset-frontend/src/core/storage/ephemeralState.ts
 copy superset-frontend/{packages/superset-ui-switchboard/src => 
src/core/storage}/index.ts (72%)
 create mode 100644 superset-frontend/src/core/storage/localState.test.ts
 create mode 100644 superset-frontend/src/core/storage/localState.ts
 create mode 100644 superset-frontend/src/core/storage/persistentState.test.ts
 create mode 100644 superset-frontend/src/core/storage/persistentState.ts
 create mode 100644 superset-frontend/src/dashboard/actions/hydrate.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/IconButton.test.tsx
 create mode 100644 
superset-frontend/src/dashboard/util/getDefaultActiveTabs.test.ts
 create mode 100644 superset-frontend/src/dashboard/util/getDefaultActiveTabs.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/extensions/ExtensionContext.test.ts
 create mode 100644 superset-frontend/src/extensions/ExtensionContext.ts
 create mode 100644 superset-frontend/src/extensions/webpackFederation.d.ts
 create mode 100644 
superset-frontend/src/features/alerts/components/NotificationMethodEmailRecipients.test.tsx
 create mode 100644 superset-frontend/src/features/home/SavedQueries.test.tsx
 create mode 100644 superset/common/grouping_sets.py
 copy {superset-core/src/superset_core/common => 
superset/dashboards/excel_export}/__init__.py (100%)
 create mode 100644 superset/dashboards/excel_export/email.py
 create mode 100644 superset/dashboards/excel_export/layout.py
 create mode 100644 superset/dashboards/excel_export/screenshot.py
 copy superset/{utils/backports.py => extensions/storage/__init__.py} (72%)
 create mode 100644 superset/extensions/storage/api.py
 create mode 100644 superset/extensions/storage/codecs.py
 create mode 100644 superset/extensions/storage/ephemeral.py
 create mode 100644 superset/extensions/storage/ephemeral_dao.py
 create mode 100644 superset/extensions/storage/filters.py
 create mode 100644 superset/extensions/storage/persistent.py
 create mode 100644 superset/extensions/storage/persistent_dao.py
 create mode 100644 superset/extensions/storage/persistent_model.py
 create mode 100644 superset/extensions/storage/utils.py
 create mode 100644 superset/mcp_service/chart/plugins/waterfall.py
 create mode 100644 superset/mcp_service/common/pagination_schemas.py
 create mode 100644 superset/mcp_service/dashboard/tool/governance_utils.py
 create mode 100644 
superset/mcp_service/dashboard/tool/manage_dashboard_certification.py
 create mode 100644 
superset/mcp_service/dashboard/tool/manage_dashboard_owners.py
 create mode 100644 
superset/mcp_service/dashboard/tool/manage_dashboard_roles.py
 create mode 100644 
superset/migrations/versions/2026-07-07_12-00_e5f6a7b8c9d0_add_extension_storage_table.py
 create mode 100644 superset/tasks/export_dashboard_excel.py
 create mode 100644 superset/utils/excel_streaming.py
 create mode 100644 superset/utils/pandas_sqlalchemy_compat.py
 create mode 100644 superset/utils/s3.py
 create mode 100644 superset/versioning/activity/__init__.py
 create mode 100644 superset/versioning/activity/impact.py
 create mode 100644 superset/versioning/activity/kinds.py
 create mode 100644 superset/versioning/activity/orchestrator.py
 create mode 100644 superset/versioning/activity/queries.py
 create mode 100644 superset/versioning/activity/render.py
 create mode 100644 superset/versioning/activity/scope.py
 create mode 100644 superset/versioning/activity/visibility.py
 create mode 100644 superset/versioning/activity/windows.py
 create mode 100644 tests/integration_tests/non_additive_totals_tests.py
 create mode 100644 tests/integration_tests/versioning/activity_view_tests.py
 create mode 100644 tests/integration_tests/versioning/change_records_tests.py
 create mode 100644 tests/integration_tests/versioning/perf_validation_tests.py
 create mode 100644 tests/unit_tests/async_events/test_cache_backend.py
 create mode 100644 tests/unit_tests/charts/test_non_additive_totals.py
 create mode 100644 
tests/unit_tests/commands/dashboard/importers/v1/assets_test.py
 create mode 100644 tests/unit_tests/commands/explore/test_get_explore_rls.py
 create mode 100644 tests/unit_tests/common/test_grouping_sets.py
 create mode 100644 tests/unit_tests/common/test_query_cache_manager.py
 create mode 100644 tests/unit_tests/dao/dataset_rls_test.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/dashboards/commands/importers/v0}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/dashboards/commands/importers/v0/import_test.py
 create mode 100644 tests/unit_tests/dashboards/test_excel_export_email.py
 create mode 100644 tests/unit_tests/dashboards/test_excel_export_layout.py
 create mode 100644 tests/unit_tests/dashboards/test_excel_export_screenshot.py
 copy superset/utils/dates.py => tests/unit_tests/databases/test_schemas.py 
(55%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/datasets/commands/importers/v0}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/datasets/commands/importers/v0/import_test.py
 create mode 100644 
tests/unit_tests/db_engine_specs/test_grouping_sets_capability.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/extensions/storage}/__init__.py (100%)
 create mode 100644 tests/unit_tests/extensions/storage/conftest.py
 create mode 100644 tests/unit_tests/extensions/storage/test_api.py
 create mode 100644 tests/unit_tests/extensions/storage/test_codecs.py
 create mode 100644 tests/unit_tests/extensions/storage/test_context.py
 create mode 100644 tests/unit_tests/extensions/storage/test_ephemeral.py
 create mode 100644 tests/unit_tests/extensions/storage/test_ephemeral_dao.py
 create mode 100644 tests/unit_tests/extensions/storage/test_filters.py
 create mode 100644 tests/unit_tests/extensions/storage/test_persistent.py
 create mode 100644 tests/unit_tests/extensions/storage/test_persistent_dao.py
 create mode 100644 tests/unit_tests/extensions/storage/test_utils.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_waterfall_chart.py
 copy superset/utils/dates.py => 
tests/unit_tests/mcp_service/dashboard/tool/conftest.py (52%)
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_manage_dashboard_certification.py
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_manage_dashboard_owners.py
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_manage_dashboard_roles.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/system/resources}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/system/resources/test_schema_discovery.py
 delete mode 100644 tests/unit_tests/mcp_service/utils/test_permissions_utils.py
 create mode 100644 tests/unit_tests/models/test_helpers_offset.py
 create mode 100644 tests/unit_tests/scripts/change_detector_test.py
 create mode 100644 tests/unit_tests/tasks/test_export_dashboard_excel.py
 create mode 100644 tests/unit_tests/utils/excel_streaming_tests.py
 create mode 100644 tests/unit_tests/utils/pandas_sqlalchemy_compat_test.py
 create mode 100644 tests/unit_tests/utils/s3_tests.py
 create mode 100644 tests/unit_tests/versioning/test_activity.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/views}/__init__.py (100%)
 create mode 100644 tests/unit_tests/views/datasource/test_utils.py
 delete mode 100644 tests/unit_tests/views/test_utils.py

Reply via email to