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

alexandrusoare pushed a change to branch alexandrusoare/fix/samples-tab-filter
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 31c0389d429 improve test file
     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 ba0900d2b32 fix(semantic-layers): show a friendly warning when schema 
enrichment falls back (#42400)
     add 90040fc1f6a fix(mcp_service): downgrade client-disconnect transport 
noise to WARNING (SC-115264) (#42441)
     add 710037d3d2f chore(importers): log field names instead of full config 
on validation failure (#42399)
     add e54eccd5fb8 chore(a11y): enable jsx-a11y/prefer-tag-over-role as error 
(#42078)
     add 8f8331f656e chore: session enforce sqlalchemy 2.0 (#42365)
     add 6856d0fc671 fix(select): rank case-insensitive matches consistently in 
dropdown search (#42408)
     add e338c77dd73 fix(dashboard-tabs): disable drag on input fields during 
tab reorder (#36889)
     add 943bbb92e4e chore(deps): bump @fontsource/fira-code from 5.2.7 to 
5.3.0 in /superset-frontend (#42461)
     add 5dea601a09a chore(deps): bump @fontsource/inter from 5.2.8 to 5.3.0 in 
/superset-frontend (#42460)
     add fdea53df9ec chore(deps-dev): bump source-map from 0.7.6 to 0.8.0 in 
/superset-frontend (#42459)
     add 67face3e3d2 chore(deps-dev): bump lightningcss from 1.32.0 to 1.33.0 
in /superset-frontend (#42457)
     add 0d2a82c2b2e chore(deps): bump react-arborist from 3.13.2 to 3.15.0 in 
/superset-frontend (#42456)
     add 5898463ced3 chore(deps-dev): bump @swc/core from 1.15.43 to 1.15.46 in 
/superset-frontend (#42455)
     add b3c95d138a9 chore(deps): bump chrono-node from 2.10.0 to 2.10.1 in 
/superset-frontend (#42454)
     add fe787269353 chore(deps-dev): bump stylelint from 17.14.0 to 17.14.1 in 
/superset-frontend (#42453)
     add 23e5cc24d52 chore(deps): bump @fontsource/fira-code from 5.2.7 to 
5.3.0 in /docs (#42451)
     add c09ebc2087d chore(deps): bump @fontsource/inter from 5.2.8 to 5.3.0 in 
/docs (#42450)
     add 3666b9a934c chore(deps): bump swagger-ui-react from 5.32.8 to 5.32.9 
in /docs (#42449)
     add dece4577924 chore(deps): bump @swc/core from 1.15.43 to 1.15.46 in 
/docs (#42448)
     add 95e5e25e1a2 feat(helm): mitigate init-db Job hang under Istio sidecar 
injection (closes #25798) (#41396)
     add 03c97764d15 chore(ci): remove nyc usage for merging coverage results 
as Codecov natively supports the action (#42431)
     add 45c2b801f7b chore(deps): bump @fontsource/ibm-plex-mono from 5.2.7 to 
5.3.0 in /superset-frontend (#42458)
     add faf2cc0f04e chore(deps): bump @fontsource/ibm-plex-mono from 5.2.7 to 
5.3.0 in /docs (#42447)
     add 3540f3f9571 chore(deps): bump the rjsf group in /superset-frontend 
with 3 updates (#42446)
     add 4300e9fb930 chore(deps): bump hot-shots from 17.0.0 to 17.0.1 in 
/superset-websocket (#42445)
     add 748e1e80f06 chore(deps): bump actions/setup-python from 6.3.0 to 7.0.0 
(#42452)
     add 74924ae73a4 fix(db_engine_specs): use CAST(DATE({col}) AS DATETIME) in 
MySQL HOUR time grain (#38617)
     add a44afd81058 chore: drop legacy /superset prefix from remaining 
hardcoded URLs (#42156)
     add 1d752a0ced6 fix(embedded): load guest charts with missing or stale 
query_context (#42150)
     add 12d7179c21b fix(hive): select schema via USE prequery instead of 
rewriting the URI database (#36603)
     add 3e7ae85cc24 fix(importers): catch YAMLError instead of narrower 
ParserError in load_yaml (#42426)
     add 276b7e2d678 fix(importers): catch YAMLError instead of narrower 
ParserError in dataset v0 importer (#42442)
     add eb914b8ae35 fix(datasets): log datetime format-detection DB query 
failures at WARNING (#42388)
     add c792752a58b fix(db_engine_specs): preserve DATE semantics when 
applying Postgres time grains (#42254) (#42329)
     add 79f3fed1f98 fix(country-map): carve the Great Lakes out of USA map 
states (#29503)
     add a73e2485de8 feat(versioning): version-history retention cleanup job 
(#41075)
     add c0117f78a9c feat(dashboard): respect GranularExportControls for 
download permission (#41799)
     add a8e2a340f19 fix(select): exclude null-valued options from "Select all" 
count (#42220)
     add 3095d7b07ff fix(metadata-bar): add max-width to text for proper 
ellipsis truncation (#42237)
     add a10c3f0b1dd test(result_set): add regression test for empty result set 
column metadata (#35962)
     add 26b6f7bb5df fix(dashboard): preserve refresh_frequency when absent 
from save data (#42354)
     add ecc7f726a4e fix: guard potential null derefs and remove dead branches 
(#42358)
     add ba7020cc607 Merge branch 'master' of 
https://github.com/apache/superset into alexandrusoare/fix/samples-tab-filter
     add fa1ea8b148d addressing PR comments

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          |    8 +-
 .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            |   32 +-
 .github/workflows/superset-helm-lint-test.yml      |    4 +-
 .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 +
 .pre-commit-config.yaml                            |    2 +-
 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                                        |  124 +
 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                                  |   18 +-
 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                                     |  382 +-
 helm/superset/Chart.yaml                           |    2 +-
 helm/superset/README.md                            |   16 +-
 helm/superset/templates/_helpers.tpl               |    8 +
 helm/superset/templates/httproute.yaml             |   12 +
 helm/superset/templates/init-job.yaml              |    4 +
 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/tests/test-istio.sh                  |  183 +
 helm/superset/values.yaml                          |   49 +-
 pyproject.toml                                     |   34 +-
 pytest.ini                                         |   14 +-
 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                      |    8 +-
 superset-frontend/package-lock.json                | 1935 ++--
 superset-frontend/package.json                     |   58 +-
 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         |    6 +-
 .../src/chart/components/StatefulChart.test.tsx    |  491 +-
 .../src/chart/components/StatefulChart.tsx         |  187 +-
 .../src/chart/models/ChartProps.ts                 |   12 +
 .../components/ActionButton/ActionButton.test.tsx  |   18 +-
 .../src/components/ActionButton/index.tsx          |   38 +-
 .../src/components/ButtonGroup/index.tsx           |    4 +
 .../src/components/DesignSystem.stories.tsx        |    6 +-
 .../DropdownContainer/Overview.stories.tsx         |    6 +-
 .../src/components/EmptyState/index.tsx            |    4 +
 .../src/components/FaveStar/index.tsx              |   10 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |    4 +
 .../src/components/IconButton/index.tsx            |    4 +
 .../src/components/Loading/index.tsx               |    4 +
 .../src/components/MetadataBar/MetadataBar.tsx     |    1 +
 .../MetadataBar/MetadataBarOverview.stories.tsx    |   46 +-
 .../src/components/Modal/Modal.tsx                 |    4 +-
 .../src/components/ModalTrigger/index.tsx          |    5 +
 .../src/components/PopoverDropdown/index.tsx       |   15 +-
 .../PopoverSection/PopoverSection.test.tsx         |    8 +-
 .../src/components/PopoverSection/index.tsx        |   27 +-
 .../components/ProgressBar/ProgressBar.test.tsx    |   22 +-
 .../src/components/ProgressBar/index.tsx           |    4 +-
 .../src/components/RefreshLabel/index.tsx          |    3 +-
 .../src/components/RlsBadge/RlsBadge.test.tsx      |  121 +
 .../src/components/RlsBadge/index.tsx              |  108 +
 .../src/components/Select/AsyncSelect.test.tsx     |   26 +-
 .../src/components/Select/AsyncSelect.tsx          |  190 +-
 .../src/components/Select/Select.test.tsx          |  140 +-
 .../src/components/Select/Select.tsx               |  219 +-
 .../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 -
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |    4 +-
 .../src/components/antdDomContract.test.tsx        |  145 +-
 .../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 -
 .../src/utils/rankedSearchCompare.test.ts          |   27 +
 .../src/utils/rankedSearchCompare.ts               |    3 +-
 .../chart/components/ChartDataProvider.test.tsx    |    3 +-
 .../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 -> 10895145 
bytes
 .../src/countries/kenya.geojson                    |  Bin 190196 -> 160739 
bytes
 .../src/countries/usa.geojson                      |  Bin 514889 -> 540974 
bytes
 .../src/vendor/superset/exploreUtils.ts            |   69 -
 .../src/AgGridTable/components/CustomHeader.tsx    |   42 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   68 +-
 .../src/styles/index.tsx                           |   10 +
 .../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/Styles.ts                 |   16 +
 .../src/react-pivottable/TableRenderers.tsx        |   50 +-
 .../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 +-
 .../src/DataTable/components/Pagination.tsx        |   13 +-
 .../src/DataTable/hooks/useSticky.tsx              |    4 +
 .../plugins/plugin-chart-table/src/Styles.tsx      |   11 +-
 .../plugins/plugin-chart-table/src/index.ts        |    4 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   98 +
 .../plugin-chart-table/test/buildQuery.test.ts     |   59 +-
 .../plugins/preset-chart-deckgl/package.json       |    4 +-
 .../src/CategoricalDeckGLContainer.tsx             |    7 -
 .../src/components/Legend.test.tsx                 |   18 +-
 .../preset-chart-deckgl/src/components/Legend.tsx  |   27 +-
 .../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/explore.ts       |    2 +-
 .../preset-chart-deckgl/src/utils/sandbox.ts       |   65 -
 .../src/SqlLab/actions/sqlLab.test.ts              |   60 +-
 .../components/ExploreResultsButton/index.tsx      |    1 -
 .../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 +-
 .../components/TemplateParamsEditor/index.tsx      |    4 +-
 .../src/chartCustomizations/components/common.ts   |    7 +
 .../src/components/Chart/Chart.test.tsx            |   21 +-
 superset-frontend/src/components/Chart/Chart.tsx   |   51 +-
 .../src/components/Chart/ChartRenderer.tsx         |   14 +
 .../components/Chart/DrillBy/DrillByModal.test.tsx |    2 +-
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |   31 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |   21 +-
 .../Chart/DrillDetail/DownloadDropdown.tsx         |   16 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |    3 +-
 .../src/components/Chart/chartAction.ts            |   47 +-
 .../src/components/Chart/chartActions.test.ts      |  107 +
 .../CopyToClipboard/CopyToClipboard.stories.tsx    |    2 +-
 .../src/components/CopyToClipboard/index.tsx       |   15 +-
 .../Datasource/ChangeDatasourceModal/index.tsx     |   10 +-
 .../Datasource/DatasourceModal/index.tsx           |    9 +-
 .../components/CollectionTable/index.tsx           |    3 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |   14 +-
 .../ErrorMessage/BasicErrorAlert.test.tsx          |    1 +
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |    1 +
 .../DatasetNotFoundErrorMessage.test.tsx           |    1 +
 .../src/components/ErrorMessage/ErrorAlert.tsx     |   34 +-
 .../ErrorMessageWithStackTrace.test.tsx            |    1 +
 .../FrontendNetworkErrorMessage.test.tsx           |    1 +
 .../ErrorMessage/ParameterErrorMessage.test.tsx    |    1 +
 .../ErrorMessage/TimeoutErrorMessage.test.tsx      |    1 +
 .../src/components/ImportModal/index.tsx           |   13 +-
 .../src/components/ImportModal/styles.ts           |    2 +-
 .../ListView/Filters/CompactSelectPanel.tsx        |    7 +
 .../src/components/ListView/ListView.test.tsx      |   14 +-
 .../src/components/ListView/ListView.tsx           |   61 +-
 .../src/components/MessageToasts/Toast.tsx         |    3 +-
 .../src/components/PanelToolbar/index.tsx          |    2 +-
 .../styles.ts => core/extensions/index.test.ts}    |   14 +-
 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 +
 .../styles.ts => core/storage/index.ts}            |   15 +-
 .../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 +
 superset-frontend/src/dashboard/actions/hydrate.ts |    4 +-
 .../AutoRefreshStatus/StatusIndicatorDot.tsx       |    4 +
 .../components/CustomizationsBadge/index.tsx       |    4 +
 .../dashboard/components/DeleteComponentButton.tsx |    2 +-
 .../DetailsPanel/DetailsPanel.test.tsx             |    2 +-
 .../components/FiltersBadge/DetailsPanel/index.tsx |    2 +-
 .../dashboard/components/FiltersBadge/index.tsx    |   12 +-
 .../dashboard/components/Header/Header.test.tsx    |   12 +-
 .../src/dashboard/components/Header/index.tsx      |    7 +-
 .../src/dashboard/components/IconButton.tsx        |   19 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    8 +-
 .../components/gridComponents/Chart/Chart.tsx      |    5 +-
 .../components/gridComponents/Tab/Tab.tsx          |   22 +-
 .../components/gridComponents/Tabs/Tabs.tsx        |    6 +-
 .../TabsRenderer/TabsRenderer.test.tsx             |   65 +
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |    8 +-
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |  148 +-
 .../components/menu/DownloadMenuItems/index.tsx    |   71 +-
 .../nativeFilters/ConfigModal/ModalFooter.tsx      |    2 +-
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |    2 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |    3 +-
 .../ScopingModal/ChartsScopingListPanel.test.tsx   |    7 +-
 .../ScopingModal/ChartsScopingListPanel.tsx        |   12 +-
 .../FilterBar/CrossFilters/VerticalCollapse.tsx    |   21 +-
 .../FilterBar/FilterBarSettings/index.tsx          |    6 +-
 .../FilterConfigurationLink.test.tsx               |   21 +-
 .../FilterBar/FilterConfigurationLink/index.tsx    |   17 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |   10 +
 .../FilterControls/FilterControlShared.tsx         |    8 +
 .../FilterBar/FilterControls/FilterControls.tsx    |   28 +-
 .../FilterBar/FilterControls/GroupByFilterCard.tsx |    5 +
 .../FilterBar/UrlFilters/VerticalCollapse.tsx      |   20 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |    9 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |    2 +-
 .../components/nativeFilters/FilterCard/Styles.ts  |    7 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |   21 +-
 .../FiltersConfigForm/DependencyList.tsx           |    9 +-
 .../Footer/CancelConfirmationAlert.tsx             |    2 +-
 .../FiltersConfigModal/ItemTitleContainer.tsx      |   21 +-
 .../dashboard/hooks/useDownloadScreenshot.test.ts  |   50 +
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |   12 +-
 superset-frontend/src/database/actions.test.ts     |   67 +
 superset-frontend/src/database/actions.ts          |    2 +-
 .../src/explore/components/ControlHeader.tsx       |    5 +
 .../DataTableControl/FilterInput.test.tsx          |    2 +-
 .../explore/components/DataTableControl/index.tsx  |   17 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |   37 +-
 .../components/DataTableControls.tsx               |    3 +-
 .../explore/components/DatasourcePanel/index.tsx   |   25 +-
 .../src/explore/components/EmbedCodeContent.tsx    |   14 +-
 .../explore/components/ExploreChartPanel/index.tsx |   39 +-
 .../components/ExploreViewContainer/index.tsx      |   49 +-
 .../AnnotationLayer.subdirectory.test.tsx          |   87 +
 .../ColorBreakpointPopoverControl.tsx              |    4 +
 .../ColumnConfigControl/ColumnConfigControl.tsx    |   16 +-
 .../controls/DatasourceControl/index.tsx           |    6 +
 .../DateFilterControl/components/DateLabel.tsx     |    7 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |   44 +-
 .../DndColumnSelectPopoverTitle.tsx                |   18 +-
 .../controls/DndColumnSelectControl/Option.tsx     |    3 +-
 .../DndColumnSelectControl/useResizeButton.tsx     |    5 +
 .../FilterControl/AdhocFilterControl/index.tsx     |   13 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |    5 +
 .../FixedOrMetricControl.test.tsx                  |    1 +
 .../controls/LayerConfigsControl/LayerTreeItem.tsx |   29 +-
 .../MetricControl/AdhocMetricEditPopover/index.tsx |   34 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |   19 +-
 .../components/controls/OptionControls/index.tsx   |   10 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |   21 +-
 .../components/controls/VizTypeControl/index.tsx   |   22 +-
 .../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 +
 .../alerts/components/NotificationMethod.test.tsx  |   23 +
 .../alerts/components/NotificationMethod.tsx       |   43 +-
 .../src/features/charts/ChartCard.tsx              |   56 +-
 .../src/features/dashboards/DashboardCard.tsx      |   58 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |    2 -
 .../databases/DatabaseModal/index.test.tsx         |   54 +
 .../src/features/databases/DatabaseModal/index.tsx |    1 +
 .../src/features/databases/DatabaseModal/styles.ts |    8 +-
 .../AddDataset/DatasetPanel/DatasetPanel.test.tsx  |    3 +-
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |   68 +-
 .../DatasetPanel/DatasetPanelWrapper.test.tsx      |    1 +
 .../AddDataset/DatasetPanel/MessageContent.tsx     |    6 +-
 .../datasets/DuplicateDatasetModal.test.tsx        |   28 +
 .../features/datasets/DuplicateDatasetModal.tsx    |    6 +-
 .../src/features/groups/GroupListModal.tsx         |    2 +-
 superset-frontend/src/features/home/Menu.tsx       |    8 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    4 +-
 .../src/features/home/SavedQueries.test.tsx        |  146 +
 .../src/features/home/SavedQueries.tsx             |   28 +-
 superset-frontend/src/features/home/SubMenu.tsx    |  214 +-
 .../src/features/queries/QueryPreviewModal.tsx     |   13 +-
 .../src/features/queries/SyntaxHighlighterCopy.tsx |    3 +-
 .../src/features/roles/RoleFormItems.tsx           |    2 +-
 .../src/features/users/UserListModal.tsx           |    4 +-
 .../components/Select/SelectFilterPlugin.tsx       |    8 +-
 .../src/filters/components/common.test.tsx         |   37 +
 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 +-
 .../pages/ChartList/ChartList.cardview.test.tsx    |    6 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |    2 +-
 .../pages/ChartList/ChartList.permissions.test.tsx |   16 +-
 .../src/pages/ChartList/ChartList.test.tsx         |    2 +-
 superset-frontend/src/pages/ChartList/index.tsx    |   65 +-
 .../DashboardList/DashboardList.cardview.test.tsx  |    4 +-
 .../DashboardList.permissions.test.tsx             |   10 +-
 .../src/pages/DashboardList/DashboardList.test.tsx |    4 +-
 .../src/pages/DashboardList/index.tsx              |   75 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |  117 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |    4 +-
 .../DatasetList/DatasetList.listview.test.tsx      |   25 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |   34 +
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |   31 +
 superset-frontend/src/pages/DatasetList/index.tsx  |  134 +-
 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/QueryHistoryList/index.tsx           |   26 +-
 .../src/pages/Register/Register.test.tsx           |  105 +-
 .../src/pages/RowLevelSecurityList/index.tsx       |   47 +-
 superset-frontend/src/pages/Tags/index.tsx         |   48 +-
 .../src/pages/TaskList/TaskList.test.tsx           |    6 +-
 superset-frontend/src/pages/TaskList/index.tsx     |   31 +-
 .../src/setup/setupFormatters.test.ts              |    1 +
 superset-frontend/src/setup/setupFormatters.ts     |   10 +
 superset-frontend/src/utils/findPermission.test.ts |   52 +-
 superset-frontend/src/utils/findPermission.ts      |   13 +
 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/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 +
 .../commands/dashboard/importers/v1/__init__.py    |   36 +-
 superset/commands/dataset/duplicate.py             |   11 +-
 superset/commands/dataset/importers/v0.py          |    2 +-
 superset/commands/datasource/list.py               |   23 +
 superset/commands/explore/get.py                   |   21 +
 superset/commands/importers/v1/utils.py            |   18 +-
 superset/commands/logs/prune.py                    |    8 +-
 superset/commands/report/execute.py                |  118 +-
 superset/commands/report/log_prune.py              |    8 +-
 superset/commands/streaming_export/base.py         |    2 +-
 superset/common/grouping_sets.py                   |  117 +
 superset/common/query_context_factory.py           |    2 +-
 superset/common/query_context_processor.py         |  151 +-
 superset/common/query_object.py                    |    4 +
 superset/common/utils/query_cache_manager.py       |   17 +-
 superset/config.py                                 |  175 +-
 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/dashboard.py                         |    3 +-
 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/datetime_format_detector.py      |   19 +-
 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/databricks.py             |    1 +
 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                   |   38 +-
 superset/db_engine_specs/kusto.py                  |  111 +-
 superset/db_engine_specs/mysql.py                  |   14 +-
 superset/db_engine_specs/postgres.py               |   28 +
 superset/db_engine_specs/presto.py                 |    9 +-
 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 +-
 .../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/extensions/utils.py                       |    9 +-
 superset/initialization/__init__.py                |   75 +-
 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/server.py                     |   65 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |   37 +-
 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 +-
 superset/migrations/shared/catalogs.py             |    4 +-
 superset/migrations/shared/native_filters.py       |    2 +-
 ..._08-54_c3a8f8611885_materializing_permission.py |    2 +-
 ...d8bc074f7aad_add_new_field_is_restricted_to_.py |    2 +-
 ...06-27_08-43_27ae655e4247_make_creator_owners.py |    2 +-
 ...-09-07_23-50_33d996bcc382_update_slice_model.py |    4 +-
 ...2_11-31_eca4694defa7_sqllab_setting_defaults.py |    2 +-
 ...4_12-31_db0c65b146bd_update_slice_model_json.py |    2 +-
 ...7c195a_rewriting_url_from_shortner_with_new_.py |    2 +-
 ...-08_08-19_67a6ac9b727b_update_spatial_params.py |    2 +-
 ...2-17_11-06_21e88bc06c02_annotation_migration.py |    4 +-
 .../2018-02-13_08-07_e866bd2d4976_smaller_grid.py  |    4 +-
 ...-04-03_08-19_130915240929_is_sqllab_viz_flow.py |    2 +-
 ...9_bf706ae5eb46_cal_heatmap_metric_to_metrics.py |    2 +-
 ...018-06-04_11-12_c5756bec8b47_time_grain_sqla.py |    4 +-
 ...6-07_09-52_afb7730f6a9c_remove_empty_filters.py |    2 +-
 ...13_10-20_4451805bbaa1_remove_double_percents.py |   58 +-
 .../2018-06-13_14-54_bddc498dd179_adhoc_filters.py |    4 +-
 ...4_14-31_80a67c5192fa_single_pie_chart_metric.py |    4 +-
 ...1c4c6_migrate_num_period_compare_and_period_.py |    4 +-
 .../2018-07-19_23-41_c617da68de7d_form_nullable.py |    2 +-
 ...07-20_15-31_7f2635b51f5d_update_base_columns.py |    2 +-
 ...07-20_15-57_e9df189e5c7e_update_base_metrics.py |    2 +-
 ..._bebcf3fed1fe_convert_dashboard_v1_positions.py |    2 +-
 .../versions/2018-08-01_11-47_7fcdcde0761c_.py     |    2 +-
 ...08545_migrate_time_range_for_default_filters.py |    2 +-
 ...2018-12-11_22-03_fb13d49b72f9_better_filters.py |    4 +-
 ...e1b21cd94a4_change_owner_to_m2m_relation_on_.py |    2 +-
 .../2019-03-21_10-22_d94d33dbe938_form_strip.py    |    2 +-
 ...a3f04bc82_add_parent_ids_in_dashboard_layout.py |    4 +-
 .../2019-06-28_13-17_ab8c66efdd01_resample.py      |    4 +-
 ...ng_unique_constraint_on_dashboard_slices_tbl.py |    2 +-
 ...5afa9079866a_serialize_schema_permissions_py.py |    2 +-
 ...e_form_strip_leading_and_trailing_whitespace.py |    2 +-
 .../2019-10-10_13-52_1495eb914ad3_time_range.py    |    4 +-
 ...127d0d1d_reconvert_legacy_filters_into_adhoc.py |    2 +-
 ..._14-13_3325d4caccc8_dashboard_scoped_filters.py |    2 +-
 ...10-42_f9a30386bd74_cleanup_time_grainularity.py |    2 +-
 ...29_09-24_620241d1153f_update_time_grain_sqla.py |    2 +-
 ...978245563a02_migrate_iframe_to_dash_markdown.py |    2 +-
 ...654_fix_data_access_permissions_for_virtual_.py |    2 +-
 ...b56500de1855_add_uuid_column_to_import_mixin.py |    4 +-
 ...208f_collapse_alerting_models_into_a_single_.py |    4 +-
 ...6e99fb176a0_add_import_mixing_to_saved_query.py |    4 +-
 ...e38177dbf641_security_converge_saved_queries.py |    4 +-
 ...15-25_40f16acf1ba7_security_converge_reports.py |    4 +-
 ...8ee129739cf9_security_converge_css_templates.py |    4 +-
 ..._14-13_ccb74baaa89b_security_converge_charts.py |    4 +-
 ...5-05_45731db65d9c_security_converge_datasets.py |    4 +-
 ...45_1f6dca87d1a2_security_converge_dashboards.py |    4 +-
 ...2_c25cb2c78727_security_converge_annotations.py |    4 +-
 ...-49_42b4c9e01447_security_converge_databases.py |    4 +-
 ...14_13-40_4b84f97828aa_security_converge_logs.py |    4 +-
 ...12-15_e37912a26567_security_converge_queries.py |    4 +-
 ...60bf0649a77_migrate_x_dateunit_in_time_range.py |    2 +-
 ...2fdb_add_granularity_to_charts_where_missing.py |    2 +-
 ...-10_12-32_41ce8799acc3_rename_pie_label_type.py |    4 +-
 ...1412ec1e5a7b_legacy_force_directed_to_echart.py |    4 +-
 ...8_09-13_c501b7c653a3_add_missing_uuid_column.py |    2 +-
 ...989bbe479899_rename_filter_configuration_in_.py |    4 +-
 ...ea61c5e7_remove_dataset_health_check_message.py |    2 +-
 ...88938_country_map_use_lowercase_country_name.py |    4 +-
 ...3a3a8ff221_migrate_filter_sets_to_new_format.py |    4 +-
 ...ed7ec95_migrate_native_filters_to_new_schema.py |    4 +-
 ...3605f370a_fix_schemas_allowed_for_csv_upload.py |    2 +-
 ...15da_migrate_pivot_table_v2_heatmaps_to_new_.py |    2 +-
 ..._17-16_f6196627326f_update_chart_permissions.py |    4 +-
 ...13dd52_change_fetch_values_predicate_to_text.py |    2 +-
 ...4fbb_add_type_to_native_filter_configuration.py |    4 +-
 ...453f4e2e_migrate_timeseries_limit_metric_to_.py |    2 +-
 ...12_11-15_32646df09c64_update_time_grain_sqla.py |    2 +-
 ...e5f1dacd_rename_to_schemas_allowed_for_file_.py |    4 +-
 ...aa3ff_add_force_screenshot_to_alerts_reports.py |    2 +-
 ...5b9441_rename_big_viz_total_form_data_fields.py |    4 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |    4 +-
 ...d8e252_fix_query_and_saved_query_null_schema.py |    2 +-
 ...b0ca7944_change_adhoc_filter_b_from_none_to_.py |    4 +-
 ...14-38_a9422eeaae74_new_dataset_models_take_2.py |    2 +-
 ...d0249074e4_deprecate_time_range_endpoints_v2.py |    2 +-
 ...07e4fdbaba_rm_time_range_endpoints_from_qc_3.py |    2 +-
 ...-39_cbe71abde154_fix_report_schedule_and_log.py |    2 +-
 ...8_16-07_e786798587de_delete_none_permissions.py |    2 +-
 ..._16-17_f3afaf1f11f0_add_unique_name_desc_rls.py |    2 +-
 ...59_7fb8bca906d2_permalink_rename_filterstate.py |    4 +-
 ...5-48_409c7b420ab0_add_created_by_fk_as_owner.py |    2 +-
 ..._13-00_c747c78868b6_migrating_legacy_treemap.py |    4 +-
 ...-07_14-00_06e1e70058c7_migrating_legacy_area.py |    4 +-
 ...665d_fix_table_chart_conditional_formatting_.py |    2 +-
 ...1_4ce1d9b25135_remove_filter_bar_orientation.py |    2 +-
 ...4-46_c0a3ea245b61_remove_show_native_filters.py |    2 +-
 ...ac08bb5b83_invert_horizontal_bar_chart_order.py |    4 +-
 ...7_13-24_b5ea9d343307_bar_chart_stack_options.py |    4 +-
 ...03-27_12-30_7e67aecbf3f1_chart_ds_constraint.py |    2 +-
 ...2a5681ddfd_convert_key_value_entries_to_json.py |    4 +-
 ...-41_4ea966691069_cross_filter_global_scoping.py |    4 +-
 ...02_9ba2ce3086e5_migrate_pivot_table_v1_to_v2.py |    4 +-
 ...-08_10-22_4c5da39be729_migrate_treemap_chart.py |    4 +-
 ...e58e1e58e5c_migrate_dual_line_to_mixed_chart.py |    4 +-
 ...delete_obsolete_druid_nosql_slice_parameters.py |    2 +-
 ...6f8b1280_cleanup_erroneous_parent_filter_ids.py |    2 +-
 ...9_17-54_ee179a490af9_deckgl_path_width_units.py |    2 +-
 ...23_0769ef90fddd_fix_schema_perm_for_datasets.py |    2 +-
 ...086c2676_add_normalize_columns_to_sqla_model.py |    2 +-
 ...317970b4400c_added_time_secondary_column_to_.py |    2 +-
 ...ff00fe8_add_percent_calculation_type_funnel_.py |    4 +-
 ...18_14-41_a32e0c4d8646_migrate_sunburst_chart.py |    4 +-
 ...d09c9_migrate_filter_boxes_to_native_filters.py |    2 +-
 ...d83218_migrate_can_view_and_drill_permission.py |    4 +-
 ...47_be1b217cd8cd_big_number_kpi_single_metric.py |    4 +-
 ...8_15-43_5ad7321c2169_mig_new_csv_upload_perm.py |    4 +-
 ...14-04_d60591c5515f_mig_new_excel_upload_perm.py |    4 +-
 ...36_4a33124c18ad_mig_new_columnar_upload_perm.py |    4 +-
 ...9123a_update_charts_with_old_time_comparison.py |    4 +-
 ...09-34_d482d51c15ca_remove_legacy_plugins_5_0.py |    4 +-
 ...-34_74ad1125881c_converge_upload_permissions.py |    4 +-
 ...fdba9f_merge_x_axis_sort_series_with_x_axis_.py |    4 +-
 ...2_convert_metric_currencies_from_str_to_json.py |    2 +-
 ...8d8526_fix_form_data_string_in_query_context.py |    2 +-
 ...00-00_ce6bd21901ab_migrate_deckgl_and_mapbox.py |    4 +-
 ...a1b2c3d4e5f6_add_granular_export_permissions.py |    4 +-
 ...-00_b4a3f2e1d0c9_fix_security_view_menu_case.py |    2 +-
 ...23_a7d3f1b9c2e4_cleanup_stale_can_import_pvm.py |    4 +-
 ...rip_metricsqlexpressions_from_ag_grid_params.py |    2 +-
 ...-00_e5f6a7b8c9d0_add_extension_storage_table.py |  109 +
 ...a1f6c204_version_transaction_issued_at_index.py |   48 +
 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                       |  212 +-
 superset/semantic_layers/api.py                    |   11 +-
 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                            |    2 +-
 superset/tasks/celery_app.py                       |    2 +-
 superset/tasks/decorators.py                       |    4 +-
 superset/tasks/export_dashboard_excel.py           |  361 +
 superset/tasks/schemas.py                          |    6 +-
 superset/tasks/version_history_retention.py        |  548 ++
 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/versioning/queries.py                     |   19 +-
 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            |    3 +-
 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 +
 .../versioning/retention_prune_tests.py            |  510 ++
 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 +
 .../unit_tests/commands/importers/v1/utils_test.py |   21 +
 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_factory.py           |   36 +
 .../common/test_query_context_processor.py         |  105 +
 tests/unit_tests/config_test.py                    |   26 +
 tests/unit_tests/conftest.py                       |    4 +-
 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/dashboard_test.py             |   51 +
 tests/unit_tests/dao/dataset_rls_test.py           |  496 +
 .../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         |    6 +-
 .../unit_tests/databases/test_schemas.py           |   45 +-
 .../datasets/commands/importers/v0/import_test.py  |   30 +
 .../datasets/test_datetime_format_detector.py      |   39 +-
 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_hive.py      |   68 +
 tests/unit_tests/db_engine_specs/test_kusto.py     |   85 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |   89 +-
 tests/unit_tests/db_engine_specs/test_postgres.py  |   47 +
 tests/unit_tests/db_engine_specs/test_sqlite.py    |    2 +-
 tests/unit_tests/db_engine_specs/test_starrocks.py |   26 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    5 +
 .../distributed_lock/distributed_lock_tests.py     |    2 +-
 .../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/initialization_test.py            |  161 +
 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 +
 .../unit_tests/mcp_service/test_logging_filters.py |  168 +
 tests/unit_tests/mcp_service/test_middleware.py    |  295 +
 .../mcp_service/test_pooled_screenshot.py          |   36 +-
 .../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 |    8 +-
 .../test_version_transaction_issued_at_index.py    |   90 +
 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 +
 tests/unit_tests/result_set_test.py                |   50 +
 .../security/exclude_users_filter_test.py          |   10 +-
 tests/unit_tests/security/manager_test.py          |  660 ++
 tests/unit_tests/semantic_layers/api_test.py       |    7 +-
 .../unit_tests/semantic_layers/decorators_test.py  |    4 +-
 tests/unit_tests/semantic_layers/mapper_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 +
 .../tasks/test_version_history_retention.py        |  200 +
 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       |    4 +-
 {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_soft_delete_filter.py  |    2 +-
 tests/unit_tests/views/test_utils.py               |   48 -
 889 files changed, 43774 insertions(+), 18183 deletions(-)
 create mode 100644 .github/workflows/hold-label-ci-gate.yml
 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 100755 helm/superset/tests/test-istio.sh
 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-controls.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/dashboard/dashboard-load.spec.ts
 delete mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/exploreUtils.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/src/{components/ImportModal/styles.ts => 
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/src/{components/ImportModal/styles.ts => 
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/database/actions.test.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
 create mode 100644 superset-frontend/src/filters/components/common.test.tsx
 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/{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/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/migrations/versions/2026-07-27_10-00_d3b9a1f6c204_version_transaction_issued_at_index.py
 create mode 100644 superset/tasks/export_dashboard_excel.py
 create mode 100644 superset/tasks/version_history_retention.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/integration_tests/versioning/retention_prune_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
 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/migrations/versions/2022-07-07_14-00_06e1e70058c7_migrating_legacy_area.py
 => tests/unit_tests/databases/test_schemas.py (55%)
 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
 create mode 100644 tests/unit_tests/mcp_service/test_logging_filters.py
 copy 
superset/migrations/versions/2023-06-08_09-02_9ba2ce3086e5_migrate_pivot_table_v1_to_v2.py
 => tests/unit_tests/mcp_service/test_pooled_screenshot.py (54%)
 delete mode 100644 tests/unit_tests/mcp_service/utils/test_permissions_utils.py
 create mode 100644 
tests/unit_tests/migrations/test_version_transaction_issued_at_index.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/tasks/test_version_history_retention.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