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

rusackas pushed a change to branch chore/enable-jsx-a11y-prefer-tag-over-role
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 0af2322489c fix(a11y): scope ActionButton hover to enabled state, make 
column toggle keyboard-reachable
 discard 4ddf4ae29f0 test: fix jest assertions broken by ActionButton 
semantic-button migration
 discard 13e99a28772 fix: convert pivot table sort-icon span to a button
 discard f37dd7be7cc style: run prettier on jsx-a11y prefer-tag-over-role 
changes
 discard 932b9d33d31 chore(a11y): enable jsx-a11y/prefer-tag-over-role as error
     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 67924ad35e1 fix(dashboard): offer Exit edit mode when there is nothing 
to discard (#42208)
     add 2926d6f6a9b chore(deps): bump actions/labeler from 6.2.0 to 7.0.0 
(#42332)
     add 1dd3103c246 chore(deps): bump github/codeql-action/analyze from 4.37.0 
to 4.37.1 (#42331)
     add 873da606ddf chore(deps): bump github/codeql-action/init from 4.37.0 to 
4.37.1 (#42334)
     add ab553c37ab9 chore(deps-dev): bump @formatjs/intl-durationformat from 
0.10.17 to 0.10.18 in /superset-frontend (#42337)
     add 66543184913 chore(deps): bump caniuse-lite from 1.0.30001805 to 
1.0.30001806 in /docs (#42333)
     add 2e72080a163 chore(deps): bump echarts to 6.1.0 with locale and 
containLabel guards (#42315) (#42321)
     add c5f6d33d211 docs: add pattern to the list of organisations using 
superset (#42341)
     add cc8edd22318 chore(deps): bump ag-grid from 36.0.0 to 36.0.1 in 
/superset-frontend (#42338)
     add cb319c9b817 fix(mcp): trust dataset is_dttm flag when applying 
time_grain to VARCHAR temporal columns (#42288)
     add f2848d951c4 chore(deps-dev): update taos-ws-py requirement from 
>=0.6.9 to >=0.7.0 (#42344)
     add 6b02a423ef8 chore(deps-dev): bump the storybook group in 
/superset-frontend with 5 updates (#42355)
     add df8bbb548a3 fix(native-filters): keep filter value input caret at 
inline start (#42323)
     add 2317d9cf918 fix(mcp): truncate query-tool responses instead of 
hard-failing (#42244)
     add fdb9c152f06 chore(deps): bump nh3 from 0.3.5 to 0.3.6 (#42349)
     add 6317113ee85 chore(deps): bump pydantic from 2.11.7 to 2.13.4 (#42350)
     add 1049826bc15 chore(deps): bump sqlalchemy-continuum from 1.6.0 to 1.7.0 
(#42351)
     add 206fe7ab120 fix(embedded): stop rejecting guest chart data built from 
control-specific params keys (#42295)
     add c43effa4a32 fix(explore): show the beginning date on time-series 
x-axis line charts (#42046)
     add d41f0febaee fix(api): add example to get_export_ids_schema so Swagger 
"Try it out" pre-fills a valid array (#42265)
     add 14c96761e55 chore: SQLAlchemy User cascade backref warnings are 
irrelevant (#42360)
     add 5776aff50ac fix(charts): handle async (202) chart-data responses in 
StatefulChart (#42157)
     add bcf0361a919 feat(KustoKQL): Add support for NULL / IS NOT NULL 
operator (#37890)
     add 921f75d5444 chore(deps): bump pillow from 12.2.0 to 12.3.0 (#42348)
     add 49f4e84b486 chore(deps): bump flask-compress from 1.17 to 1.24 (#42346)
     add cfb04a6e79e chore(deps-dev): bump databricks-sql-connector from 4.2.6 
to 4.3.0 (#42347)
     add 3ff5dbfe81e fix(native-filters): use FILTER_STATE_CACHE_CONFIG timeout 
for dynamic filter option queries (#38910)
     add 4ee500e47bf fix(explore): render Jinja before validating legacy chart 
filters (#41996)
     add a1142b0f915 fix(dataset): disable duplicate button when name is empty 
(#42217)
     add 4f017de5326 docs(gunicorn): correct dead links in values.yaml (#42385)
     add 542416ac6e7 chore(deps): bump @deck.gl/mapbox from 9.3.6 to 9.3.7 in 
/superset-frontend in the deckgl group (#42377)
     add 5b5e5cf82da chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 
(#42376)
     add 16de95f0246 chore(deps): bump immer from 11.1.11 to 11.1.15 in 
/superset-frontend (#42378)
     add 0b9a9c5d038 chore(deps): bump body-parser from 1.20.5 to 1.20.6 in 
/docs (#42370)
     add d2ea5e9a1a5 chore(deps-dev): bump brace-expansion from 1.1.15 to 
1.1.16 in /superset-embedded-sdk (#42369)
     add 67c3fea0ce7 fix(security): bump pyasn1 from 0.6.3 to 0.6.4 (#42363)
     add 0792f98910d fix(security): bump pillow from 12.2.0 to 12.3.0 (#42362)
     add 65528a5b761 docs(map-tiles): add Yandex Maps Tiles API configuration 
(#42375)
     add 3bdf134aaa2 fix(logging): stop noisy LocalProxy-not-mapped warning for 
guest users (#42306)
     add 7eceebce1ce feat(dbspec): Support apache datafusion dbspec (#42374)
     add f7d0ec3a2c4 chore: add @rusackas to migration code owners (#42398)
     add 3a53c4ebc3b chore(deps): raise SQLAlchemy lower bound to >=1.4.43 
(#41123)
     add 99841fb504b fix(async): include datasets and rev claims in guest 
channel HMAC (#41487)
     add f3fa1c7d4f6 fix(reports): write a single execution log row per report 
run (#29857) (#41966)
     add 134cae07ae1 fix(ui): update stale Ant Design v6 internal class 
selectors (#42146)
     add 52552c8278e test(dashboard): migrate dashboard force-refresh control 
to Playwright (#41433)
     add 5ffdac1871d fix(mcp): align pooled screenshot override signature 
(#42384)
     add 857a194c667 chore(deps): bump postcss from 8.5.16 to 8.5.23 in /docs 
(#42397)
     add e9f61c1e662 chore(deps): bump postcss from 8.5.15 to 8.5.23 in 
/superset-frontend (#42396)
     add 83ea9a10253 chore(deps): bump js-yaml from 5.2.1 to 5.2.2 in /docs 
(#42395)
     add b82ff27f9cc fix(sqllab): render each query error once on async 
fallback (#42318)
     add 2a07f7967d4 chore(deps): bump brace-expansion, @cypress/code-coverage 
and eslint in /superset-frontend/cypress-base (#42275)
     add c65bedf2d76 fix(extensions): make LOCAL_EXTENSIONS hot reload reliable 
in Docker (#40084)
     add 5775bdbe5ec chore(deps-dev): bump postcss from 8.5.15 to 8.5.23 in 
/superset-embedded-sdk (#42394)
     add 8c37d627aa9 fix: allow clearing database/schema in DatasourceModal 
(#39918)
     add d4652460eed chore(deps-dev): bump google-cloud-bigquery from 3.42.1 to 
3.42.2 (#42422)
     add 8864b7a0a31 chore(deps-dev): update oracledb requirement from 
<5,>=2.0.0 to >=4.0.2,<5 (#42421)
     add 9d6fbdceff8 chore(deps-dev): update ibm-db-sa requirement from 
<=0.4.4,>0.3.8 to <=0.4.4,>=0.4.4 (#42419)
     add 4f3a1a50582 chore(deps-dev): update snowflake-sqlalchemy requirement 
from <2,>=1.10.2 to >=1.11.0,<2 (#42418)
     add dd08c4f36c1 chore(deps-dev): update flightsql-dbapi requirement from 
<0.3,>=0.2.0 to >=0.2.2,<0.3 (#42416)
     add 4443357f334 chore(deps): bump flask-caching from 2.3.1 to 2.4.1 
(#42413)
     add e1ffa53d9b4 chore(deps): bump pyparsing from 3.2.3 to 3.3.2 (#42420)
     add 6c2ccc44bdc chore(table): drop dead th.ant-column-cell selector 
(#42407)
     add e3d3262e977 chore(deps-dev): bump grpcio from 1.81.1 to 1.83.0 (#42414)
     add 9a025267bdf fix(reports): positive readiness check for non-tiled 
screenshots (#42253)
     add 4ad80617af2 chore(a11y): enable jsx-a11y/prefer-tag-over-role as error
     add 1da2d5604f6 style: run prettier on jsx-a11y prefer-tag-over-role 
changes
     add 075894fcff8 fix: convert pivot table sort-icon span to a button
     add 9b3de71a9f5 test: fix jest assertions broken by ActionButton 
semantic-button migration
     add 9554eb02074 fix(a11y): scope ActionButton hover to enabled state, make 
column toggle keyboard-reachable
     add 660622cb5e4 fix(a11y): convert Chart's stopped-state rerun link to a 
native button

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   (0af2322489c)
            \
             N -- N -- N   
refs/heads/chore/enable-jsx-a11y-prefer-tag-over-role (660622cb5e4)

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/CODEOWNERS                                 |    2 +-
 .github/ISSUE_TEMPLATE/bug-report.yml              |    3 +-
 .github/dependabot.yml                             |    4 +
 .github/workflows/bump-python-package.yml          |    6 +-
 .github/workflows/check-python-deps.yml            |    4 +-
 .github/workflows/check_db_migration_confict.yml   |    4 +-
 .github/workflows/codeql-analysis.yml              |   12 +-
 .github/workflows/dependency-review.yml            |    8 +-
 .github/workflows/docker.yml                       |   25 +-
 .github/workflows/embedded-sdk-release.yml         |    6 +-
 .github/workflows/embedded-sdk-test.yml            |    6 +-
 .github/workflows/generate-FOSSA-report.yml        |    8 +-
 .github/workflows/github-action-validator.yml      |    8 +-
 .github/workflows/hold-label-ci-gate.yml           |  115 +
 .github/workflows/issue_creation.yml               |    4 +-
 .github/workflows/labeler.yml                      |    4 +-
 .github/workflows/latest-release-tag.yml           |    4 +-
 .github/workflows/license-check.yml                |    6 +-
 .github/workflows/no-hold-label.yml                |    2 +-
 .github/workflows/pr-lint.yml                      |    4 +-
 .github/workflows/pre-commit.yml                   |   28 +-
 .github/workflows/release.yml                      |    8 +-
 .../workflows/scheduled-docker-image-refresh.yml   |   12 +-
 .github/workflows/showtime-trigger.yml             |    2 +-
 .github/workflows/superset-app-cli.yml             |    4 +-
 .github/workflows/superset-docs-deploy.yml         |   10 +-
 .github/workflows/superset-docs-verify.yml         |   14 +-
 .github/workflows/superset-e2e.yml                 |   29 +-
 .github/workflows/superset-extensions-cli.yml      |    4 +-
 .github/workflows/superset-frontend.yml            |   18 +-
 ...t-helm-lint.yml => superset-helm-lint-test.yml} |   12 +-
 .github/workflows/superset-helm-release.yml        |    4 +-
 .github/workflows/superset-playwright.yml          |   14 +-
 .../workflows/superset-python-integrationtest.yml  |   18 +-
 .github/workflows/superset-python-presto-hive.yml  |   12 +-
 .github/workflows/superset-python-unittest.yml     |   10 +-
 .../workflows/superset-translations-comment.yml    |    2 +-
 .github/workflows/superset-translations.yml        |   10 +-
 .github/workflows/superset-websocket.yml           |    6 +-
 .github/workflows/supersetbot.yml                  |    4 +-
 ...sync-requirements-for-python-dep-upgrade-pr.yml |    2 +-
 .github/workflows/tag-release.yml                  |   16 +-
 .github/workflows/tech-debt.yml                    |    8 +-
 .github/workflows/welcome-new-users.yml            |    2 +-
 .gitignore                                         |    1 +
 Makefile                                           |    6 +-
 RELEASING/Dockerfile.from_local_tarball            |    2 +-
 RELEASING/Dockerfile.from_svn_tarball              |    2 +-
 RELEASING/Dockerfile.make_docs                     |    2 +-
 RELEASING/Dockerfile.make_tarball                  |    2 +-
 RESOURCES/INTHEWILD.yaml                           |    5 +
 UPDATING.md                                        |  114 +
 docker-compose-light.yml                           |    2 +-
 docker-compose-non-dev.yml                         |    2 +-
 docker-compose.yml                                 |    3 +-
 docker/docker-bootstrap.sh                         |    4 +-
 docker/pythonpath_dev/superset_config.py           |    1 +
 .../configuration/configuring-superset.mdx         |    8 +-
 docs/admin_docs/configuration/map-tiles.mdx        |   29 +
 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                                  |   10 +-
 docs/sidebarTutorials.js                           |    2 +
 docs/src/data/databases.json                       |  108 +-
 docs/static/.htaccess                              |    3 +-
 docs/static/feature-flags.json                     |    6 -
 docs/static/img/databases/datafusion.png           |  Bin 0 -> 14784 bytes
 docs/static/img/logos/pattern_logo.png             |  Bin 0 -> 7067 bytes
 docs/yarn.lock                                     |  238 +-
 helm/superset/Chart.yaml                           |    2 +-
 helm/superset/README.md                            |   12 +-
 helm/superset/templates/httproute.yaml             |   12 +
 helm/superset/templates/secret-env.yaml            |    3 +
 .../superset/templates/secret-superset-config.yaml |    3 +
 helm/superset/templates/secret-ws.yaml             |    3 +
 helm/superset/tests/httproute_test.yaml            |   92 +
 helm/superset/values.yaml                          |   24 +-
 pyproject.toml                                     |   34 +-
 pytest.ini                                         |   16 +-
 requirements/base.txt                              |   24 +-
 requirements/development.txt                       |   35 +-
 scripts/benchmark_migration.py                     |    2 +-
 scripts/check-env.py                               |    4 +-
 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            |   26 +-
 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 +-
 .../cypress-base/cypress/support/directories.ts    |   14 +-
 superset-frontend/cypress-base/package-lock.json   | 6261 ++++++-------
 superset-frontend/cypress-base/package.json        |    2 +-
 superset-frontend/jest.config.js                   |    6 +-
 superset-frontend/oxlint.json                      |    7 +-
 superset-frontend/package-lock.json                | 1579 ++--
 superset-frontend/package.json                     |   42 +-
 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 +
 .../src/operators/prophetOperator.ts               |   31 +-
 .../src/shared-controls/dndControls.tsx            |    4 +-
 .../src/utils/D3Formatting.ts                      |    3 +
 .../test/operators/prophetOperator.test.ts         |  105 +
 .../packages/superset-ui-core/package.json         |    8 +-
 .../src/chart/components/StatefulChart.test.tsx    |  491 +-
 .../src/chart/components/StatefulChart.tsx         |  187 +-
 .../src/chart/models/ChartProps.ts                 |   12 +
 .../src/components/DesignSystem.stories.tsx        |    6 +-
 .../DropdownContainer/Overview.stories.tsx         |    6 +-
 .../MetadataBar/MetadataBarOverview.stories.tsx    |   46 +-
 .../src/components/Modal/Modal.tsx                 |    4 +-
 .../components/ProgressBar/ProgressBar.test.tsx    |   22 +-
 .../src/components/ProgressBar/index.tsx           |    4 +-
 .../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          |  190 +-
 .../src/components/Select/Select.test.tsx          |  107 +
 .../src/components/Select/Select.tsx               |  214 +-
 .../src/components/Select/utils.test.ts            |  140 +
 .../src/components/Select/utils.tsx                |   75 +-
 .../src/components/Table/TableOverview.stories.tsx |   34 +-
 .../src/components/Table/VirtualTable.tsx          |    2 +-
 .../ActionCell/ActionCell.overview.tsx             |    6 +-
 .../src/components/Table/index.tsx                 |    2 +-
 .../src/components/TableCollection/index.tsx       |    6 -
 .../src/components/antdDomContract.test.tsx        |  145 +-
 .../superset-ui-core/src/components/index.ts       |    5 +
 ...NDigitFormatter.ts => createLengthFormatter.ts} |   32 +-
 .../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 +
 .../packages/superset-ui-switchboard/src/index.ts  |    4 +-
 .../playwright/components/core/Menu.ts             |   20 +
 .../generators/docs/docs-screenshots.spec.ts       |    2 +-
 .../generators/docs/screenshot-manifest.yaml       |   16 +-
 .../playwright/helpers/api/dashboard.ts            |   85 +
 .../playwright/pages/DashboardPage.ts              |   31 +-
 .../tests/dashboard/clear-all-filters.spec.ts      |   41 +-
 .../tests/dashboard/dashboard-controls.spec.ts     |  152 +
 .../tests/dashboard/dashboard-load.spec.ts         |  212 +
 .../tests/dashboard/dashboard-test-helpers.ts      |  121 +-
 .../tests/dashboard/delete-display-control.spec.ts |   41 +-
 .../tests/dashboard/gauge-interval-colors.spec.ts  |   41 +-
 .../mixed-chart-dashboard-filters.spec.ts          |   41 +-
 .../tests/embedded/pivot-collapse-state.spec.ts    |   37 +-
 superset-frontend/playwright/utils/constants.ts    |   11 +-
 .../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 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   68 +-
 .../test/buildQuery.test.ts                        |  250 +-
 .../src/Heatmap/transformProps.ts                  |   11 +-
 .../src/MixedTimeseries/transformProps.ts          |   17 +
 .../src/Timeseries/transformProps.ts               |   25 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |   16 +-
 .../src/components/echartsLocale.ts                |  108 +
 .../test/Heatmap/transformProps.test.ts            |  165 +
 .../test/MixedTimeseries/transformProps.test.ts    |   55 +
 .../test/Timeseries/transformProps.test.ts         |   69 +
 .../test/components/Echart.test.tsx                |   17 +
 .../test/components/echartsLocale.test.ts          |   82 +
 .../plugin-chart-echarts/types/external.d.ts       |    8 +
 .../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/TableRenderers.tsx        |   20 +-
 .../src/react-pivottable/utilities.ts              |  194 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |   22 +-
 .../test/PivotTableChart.test.tsx                  |   50 +-
 .../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    |  138 +-
 .../plugins/plugin-chart-table/src/index.ts        |    4 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   93 +
 .../plugin-chart-table/test/buildQuery.test.ts     |   59 +-
 .../plugins/preset-chart-deckgl/package.json       |    4 +-
 .../src/CategoricalDeckGLContainer.tsx             |    7 -
 .../src/layers/Arc/buildQuery.ts                   |   16 +-
 .../src/layers/Arc/controlPanel.ts                 |   13 -
 .../src/layers/Arc/stories/Arc.stories.tsx         |    4 -
 .../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 +-
 .../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 -
 .../src/SqlLab/actions/sqlLab.test.ts              |   60 +-
 .../components/PopEditorTab/PopEditorTab.test.tsx  |   23 +-
 .../src/SqlLab/components/PopEditorTab/index.tsx   |   46 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |   29 +
 .../src/SqlLab/components/ResultSet/index.tsx      |   21 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    2 +-
 .../src/chartCustomizations/components/common.ts   |    7 +
 .../src/components/Chart/Chart.test.tsx            |   21 +-
 superset-frontend/src/components/Chart/Chart.tsx   |   31 +
 .../src/components/Chart/ChartRenderer.tsx         |   14 +
 .../src/components/Chart/chartAction.ts            |   47 +-
 .../src/components/Chart/chartActions.test.ts      |  107 +
 .../Datasource/DatasourceModal/index.tsx           |    9 +-
 .../src/components/ImportModal/index.tsx           |   13 +-
 .../src/components/ImportModal/styles.ts           |    2 +-
 .../src/components/PanelToolbar/index.tsx          |    2 +-
 .../core/extensions/index.test.ts}                 |   12 +-
 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 +
 .../types.ts => src/core/storage/index.ts}         |   17 +-
 .../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 +
 .../dashboard/components/Header/Header.test.tsx    |   12 +-
 .../src/dashboard/components/Header/index.tsx      |    7 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    8 +-
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |  148 +-
 .../components/menu/DownloadMenuItems/index.tsx    |   71 +-
 .../nativeFilters/ConfigModal/ModalFooter.tsx      |    2 +-
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |    2 +-
 .../FilterBar/FilterBarSettings/index.tsx          |    6 +-
 .../FilterConfigurationLink.test.tsx               |   21 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |   10 +
 .../Footer/CancelConfirmationAlert.tsx             |    2 +-
 .../dashboard/hooks/useDownloadScreenshot.test.ts  |   50 +
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |   12 +-
 .../AnnotationLayer.subdirectory.test.tsx          |   87 +
 .../controls/DatasourceControl/index.tsx           |    6 +
 .../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 +
 .../databases/DatabaseModal/index.test.tsx         |   54 +
 .../src/features/databases/DatabaseModal/index.tsx |    1 +
 .../src/features/databases/DatabaseModal/styles.ts |    8 +-
 .../datasets/DuplicateDatasetModal.test.tsx        |   28 +
 .../features/datasets/DuplicateDatasetModal.tsx    |    6 +-
 .../src/features/groups/GroupListModal.tsx         |    2 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    4 +-
 .../src/features/home/SavedQueries.test.tsx        |  146 +
 .../src/features/home/SavedQueries.tsx             |   24 +-
 .../src/features/roles/RoleFormItems.tsx           |    2 +-
 .../src/features/users/UserListModal.tsx           |    4 +-
 .../components/Select/SelectFilterPlugin.tsx       |    8 +-
 .../components/common.test.tsx}                    |   20 +-
 superset-frontend/src/filters/components/common.ts |    7 +
 .../src/middleware/asyncEvent.test.ts              |   61 +-
 superset-frontend/src/middleware/asyncEvent.ts     |   51 +-
 .../src/pages/ChartCreation/index.tsx              |    9 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |   34 +
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |   31 +
 superset-frontend/src/pages/DatasetList/index.tsx  |    7 +
 superset-frontend/src/pages/Home/index.tsx         |    4 +-
 superset-frontend/src/pages/Login/Login.test.tsx   |  281 +-
 superset-frontend/src/pages/Login/index.tsx        |    5 +-
 .../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 +
 .../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               |   22 +-
 superset-websocket/package.json                    |    4 +-
 .../utils/client-ws-app/package-lock.json          |  108 +-
 superset/annotation_layers/annotations/schemas.py  |    6 +-
 superset/annotation_layers/schemas.py              |    6 +-
 superset/app.py                                    |   19 +-
 superset/async_events/async_query_manager.py       |    5 +
 superset/charts/data/api.py                        |   50 +-
 superset/charts/data/dashboard_filter_context.py   |   39 +-
 superset/charts/schemas.py                         |   29 +-
 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                |  118 +-
 superset/commands/report/log_prune.py              |    8 +-
 superset/common/grouping_sets.py                   |  117 +
 superset/common/query_context_processor.py         |  151 +-
 superset/common/query_object.py                    |    4 +
 superset/common/utils/query_cache_manager.py       |   11 +-
 superset/config.py                                 |  124 +-
 superset/connectors/sqla/models.py                 |   33 +-
 superset/connectors/sqla/utils.py                  |   15 +
 superset/core/api/core_api_injection.py            |   56 +-
 superset/core/mcp/core_mcp_injection.py            |    6 +-
 superset/css_templates/schemas.py                  |    6 +-
 superset/daos/dataset.py                           |  358 +-
 superset/daos/log.py                               |    4 +-
 superset/daos/query.py                             |    6 +-
 superset/dashboards/api.py                         |  152 +
 .../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                     |   47 +-
 superset/databases/schemas.py                      |   14 +-
 superset/datasets/api.py                           |   60 +
 superset/datasets/schemas.py                       |   12 +-
 superset/db_engine_specs/base.py                   |   63 +
 superset/db_engine_specs/bigquery.py               |    1 +
 superset/db_engine_specs/clickhouse.py             |   12 +
 superset/db_engine_specs/datafusion.py             |   92 +
 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/kusto.py                  |  111 +-
 superset/db_engine_specs/mysql.py                  |    5 +
 superset/db_engine_specs/postgres.py               |    1 +
 superset/db_engine_specs/presto.py                 |    6 +
 superset/db_engine_specs/snowflake.py              |    1 +
 superset/db_engine_specs/starrocks.py              |    5 +
 superset/db_engine_specs/trino.py                  |    8 +-
 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/api.py                         |    2 +-
 superset/extensions/cache_middleware.py            |    6 +-
 superset/extensions/context.py                     |  136 +-
 superset/extensions/local_extensions_watcher.py    |  211 +-
 .../common => extensions/storage}/__init__.py      |   14 +-
 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/extensions/utils.py                       |    9 +-
 superset/initialization/__init__.py                |    2 +
 superset/jinja_context.py                          |   43 +-
 superset/key_value/types.py                        |   17 +
 superset/mcp_service/README.md                     |    2 +-
 superset/mcp_service/annotation_layer/schemas.py   |  167 +-
 superset/mcp_service/chart/chart_helpers.py        |    4 -
 superset/mcp_service/chart/chart_utils.py          |   87 +-
 superset/mcp_service/chart/schemas.py              |  144 +-
 superset/mcp_service/chart/tool/generate_chart.py  |   11 +-
 superset/mcp_service/chart/tool/list_charts.py     |    9 -
 superset/mcp_service/common/pagination_schemas.py  |  182 +
 superset/mcp_service/dashboard/schemas.py          |  133 +-
 superset/mcp_service/database/schemas.py           |  126 +-
 superset/mcp_service/dataset/schemas.py            |  163 +-
 superset/mcp_service/middleware.py                 |  676 +-
 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/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/mcp_service/utils/token_utils.py          |  244 +
 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                            |    2 +
 superset/models/helpers.py                         |  185 +-
 superset/models/sql_lab.py                         |   25 +-
 superset/queries/saved_queries/schemas.py          |   12 +-
 superset/reports/schemas.py                        |    6 +-
 superset/row_level_security/schemas.py             |    6 +-
 superset/security/manager.py                       |   80 +-
 superset/sql/execution/celery_task.py              |   44 +-
 superset/sql/execution/executor.py                 |  117 +-
 superset/sql/parse.py                              |   25 +
 superset/sql_lab.py                                |   29 +-
 superset/superset_typing.py                        |    8 +
 superset/tags/models.py                            |   12 +-
 superset/tasks/decorators.py                       |    4 +-
 superset/tasks/export_dashboard_excel.py           |  361 +
 superset/tasks/schemas.py                          |    6 +-
 superset/themes/schemas.py                         |   12 +-
 superset/translations/pt/LC_MESSAGES/messages.po   | 9532 ++++++--------------
 superset/utils/backports.py                        |   11 +-
 superset/utils/cache.py                            |   10 +-
 superset/utils/cache_manager.py                    |   28 +-
 superset/utils/core.py                             |   10 +-
 superset/utils/dates.py                            |    4 +-
 superset/utils/encrypt.py                          |   87 +
 superset/utils/excel.py                            |    9 +-
 superset/utils/excel_streaming.py                  |  250 +
 superset/utils/log.py                              |    8 +-
 superset/utils/pandas_postprocessing/boxplot.py    |   10 +-
 superset/utils/pandas_postprocessing/prophet.py    |    2 +-
 superset/utils/s3.py                               |   83 +
 superset/utils/screenshot_utils.py                 |  243 +-
 superset/utils/screenshots.py                      |    9 +-
 superset/utils/webdriver.py                        |  241 +-
 superset/views/base.py                             |    7 +-
 superset/views/datasource/utils.py                 |   85 +-
 superset/views/utils.py                            |   21 +-
 superset/viz.py                                    |   10 -
 superset_text.yml                                  |    1 +
 tests/integration_tests/charts/commands_tests.py   |    4 -
 tests/integration_tests/charts/data/api_tests.py   |  167 +-
 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/event_logger_tests.py      |   85 +-
 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/reports/commands_tests.py  |   68 +-
 tests/integration_tests/sqla_models_tests.py       |   88 +-
 tests/integration_tests/sqllab_tests.py            |    6 +
 tests/integration_tests/viz_tests.py               |    5 +-
 .../async_events/async_query_manager_tests.py      |   38 +
 tests/unit_tests/charts/test_chart_data_api.py     |  129 +-
 .../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   |    3 +
 tests/unit_tests/common/test_grouping_sets.py      |  112 +
 .../unit_tests/common/test_query_cache_manager.py  |   57 +
 .../common/test_query_context_processor.py         |  105 +
 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/core_tests.py                     |   63 +
 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 +-
 .../test_tdengine.py => databases/test_schemas.py} |   27 +-
 .../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 +
 .../unit_tests/db_engine_specs/test_clickhouse.py  |   50 +
 .../unit_tests/db_engine_specs/test_datafusion.py  |  101 +
 .../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_kusto.py     |   85 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |    1 +
 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 +
 .../unit_tests/extensions/test_cache_middleware.py |   15 +
 .../extensions/test_local_extensions_watcher.py    |   59 +
 tests/unit_tests/extensions/test_sqlalchemy.py     |   12 +-
 tests/unit_tests/key_value/codec_test.py           |   14 +
 .../mcp_service/chart/test_chart_helpers.py        |   12 +-
 .../mcp_service/chart/test_chart_utils.py          |   83 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |   58 +
 .../mcp_service/dataset/test_dataset_schemas.py    |   15 +
 .../mcp_service/dataset/tool/test_query_dataset.py |  321 +
 tests/unit_tests/mcp_service/test_middleware.py    |  295 +
 .../mcp_service/test_pooled_screenshot.py          |   34 +-
 .../mcp_service/utils/test_permissions_utils.py    |  107 -
 .../mcp_service/utils/test_token_utils.py          |  103 +
 .../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               |   49 +-
 tests/unit_tests/models/helpers_test.py            |  669 +-
 .../models/owner_association_tables_test.py        |    2 +-
 tests/unit_tests/models/test_helpers_offset.py     |  125 +
 .../pandas_postprocessing/test_boxplot.py          |   22 +
 .../pandas_postprocessing/test_prophet.py          |   34 +
 tests/unit_tests/queries/query_object_test.py      |    1 +
 .../security/exclude_users_filter_test.py          |    2 +-
 tests/unit_tests/security/manager_test.py          |   93 +
 .../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                |  324 +
 tests/unit_tests/sql_lab_test.py                   |  210 +
 .../tasks/test_export_dashboard_excel.py           |  401 +
 tests/unit_tests/test_viz_query_obj.py             |   57 +
 tests/unit_tests/utils/excel_streaming_tests.py    |  267 +
 tests/unit_tests/utils/filters_test.py             |    9 +-
 .../utils/pandas_sqlalchemy_compat_test.py         |    2 +-
 tests/unit_tests/utils/s3_tests.py                 |   95 +
 tests/unit_tests/utils/test_screenshot_utils.py    |  285 +-
 tests/unit_tests/utils/webdriver_test.py           |  401 +-
 tests/unit_tests/versioning/test_listener.py       |    2 +-
 {scripts => 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 -
 603 files changed, 38504 insertions(+), 16679 deletions(-)
 create mode 100644 .github/workflows/hold-label-ci-gate.yml
 rename .github/workflows/{superset-helm-lint.yml => 
superset-helm-lint-test.yml} (83%)
 create mode 100644 docs/developer_docs/extensions/storage.md
 create mode 100644 docs/docs/using-superset/exporting-dashboard-data.mdx
 create mode 100644 docs/static/img/databases/datafusion.png
 create mode 100644 docs/static/img/logos/pattern_logo.png
 create mode 100644 helm/superset/tests/httproute_test.yaml
 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
 copy 
superset-frontend/packages/superset-ui-core/src/number-format/factories/{createSiAtMostNDigitFormatter.ts
 => createLengthFormatter.ts} (61%)
 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-controls.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/dashboard/dashboard-load.spec.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/components/echartsLocale.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/components/echartsLocale.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/plugin/utilities.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/test/react-pivottable/nonAdditiveTotals.test.ts
 delete mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/utils/sandbox.ts
 copy 
superset-frontend/{packages/superset-ui-core/src/components/Flex/Flex.test.tsx 
=> src/core/extensions/index.test.ts} (76%)
 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-core/src/components/AsyncEsmComponent/types.ts
 => src/core/storage/index.ts} (75%)
 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/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/home/SavedQueries.test.tsx
 copy 
superset-frontend/src/{explore/components/controls/DateFilterControl/tests/CurrentCalendarFrame.test.tsx
 => filters/components/common.test.tsx} (50%)
 create mode 100644 superset/common/grouping_sets.py
 copy {scripts => 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
 create mode 100644 superset/db_engine_specs/datafusion.py
 copy superset/{mcp_service/common => extensions/storage}/__init__.py (73%)
 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/common/pagination_schemas.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/s3.py
 create mode 100644 tests/integration_tests/non_additive_totals_tests.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 {scripts => 
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 tests/unit_tests/{db_engine_specs/test_tdengine.py => 
databases/test_schemas.py} (56%)
 copy {scripts => 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_datafusion.py
 create mode 100644 
tests/unit_tests/db_engine_specs/test_grouping_sets_capability.py
 copy {scripts => 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/extensions/test_local_extensions_watcher.py
 copy superset/migrations/versions/2016-11-23_10-27_f1f2d4af5b90_.py => 
tests/unit_tests/mcp_service/test_pooled_screenshot.py (55%)
 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/tasks/test_export_dashboard_excel.py
 create mode 100644 tests/unit_tests/test_viz_query_obj.py
 create mode 100644 tests/unit_tests/utils/excel_streaming_tests.py
 create mode 100644 tests/unit_tests/utils/s3_tests.py
 copy {scripts => 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