You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/07/21 00:23:37 UTC

(superset) branch tdd/issue-29857-report-log-duplicates updated (58c1ee5cb4a -> dc232ebd7d9)

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

rusackas pushed a change to branch tdd/issue-29857-report-log-duplicates
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 58c1ee5cb4a test(reports): restore WORKING-row invariant check, use UUID in log filter
    omit f5fe0758e78 fix(reports): one execution log row per report execution (#29857)
    omit 231ec46b911 test(reports): assert one execution yields a single log row (#29857)
     add e8521471820 test: add edge-case tests for datetime_to_epoch function (#39404)
     add a03cabffa77 perf(csv): avoid regex in CSV value escaping (#40195)
     add 0ecf34d80e1 fix(a11y): add aria-label to ViewportControl text inputs (#41931)
     add b237aefb1ea fix(a11y): add aria-label to RightMenu documentation and bug-report icon links (#41903)
     add f5deda78641 fix(dataset): copy catalog field when duplicating a BigQuery dataset (#41106)
     add 189f258e0ce fix(drill): coerce temporal drill filter values (#40180)
     add 5e6b29d1a32 chore(deps-dev): bump sqlalchemy-hana from 0.4.0 to 3.0.3 (#41953)
     add 49dc0acd827 fix(pre-commit): prettier hook drops first file and never batches (#41944)
     add b8c0171976d test(rls): assert related/subjects honors search filter for roles (#31466) (#41969)
     add 958d1ab256a test(rls): assert dataset search returns all mask matches (#29707) (#41968)
     add 13c5a324027 fix(tests): correct stale TYPE_CHECKING import path in base_data_loader (#41972)
     add a1d1d69f5ea ci: enforce SQLAlchemy 2.0 deprecation warnings in unit-test CI (#41915)
     add 2a18a556b09 chore(frontend): lint Emotion CSS-in-JS with Stylelint (#41871)
     add db1912c6d98 chore(deps): bump cachetools from 6.2.1 to 7.1.4 (#41947)
     add 0ca51d9796a fix(Database Connection Form): Added validation to db credential input (#37919)
     add e403d9b0742 chore(lint): convert legacy plugin chart components to function components (#39452)
     add 12f28ce2354 chore(deps): bump holidays from 0.82 to 0.99 (#41949)
     add 98c3ec7a718 chore(deps): bump sqlglot from 30.8.0 to 30.12.0 (#41948)
     add d380663e710 chore(deps-dev): bump syntaqlite from 0.4.2 to 0.6.0 (#41952)
     add c0e5f5226d4 fix(explore): let chart owners overwrite when owners come through as objects (#41352)
     add c762b75ddc5 chore(lint): upgrade no-unused-vars rule from warn to error (#41132)
     add 8f339545adb chore(deps-dev): bump baseline-browser-mapping from 2.10.41 to 2.10.42 in /superset-frontend (#41993)
     add 73925922a9a chore(deps): bump react-arborist from 3.12.0 to 3.13.2 in /superset-frontend (#41992)
     add bb5d7dbb17b chore(deps): bump immer from 11.1.9 to 11.1.11 in /superset-frontend (#41991)
     add 9180ace1ddc chore(deps): bump actions/labeler from 6.1.0 to 6.2.0 (#41988)
     add 96bf1a1e4cd chore(deps): bump caniuse-lite from 1.0.30001800 to 1.0.30001802 in /docs (#41987)
     add 0cf217cdea5 chore(deps-dev): bump vitest from 4.1.9 to 4.1.10 in /superset-websocket (#41986)
     add f7b7bad9a88 chore(deps-dev): bump tsx from 4.22.5 to 4.23.0 in /superset-frontend (#41985)
     add 1c7a3f395f4 chore(deps): bump fs-extra from 11.3.2 to 11.3.6 in /superset-frontend (#41990)
     add 3c6982252b2 chore(deps-dev): bump webpack from 5.108.3 to 5.108.4 in /superset-frontend (#41989)
     add 029d49539bc fix(event-log): match embedded routes precisely in logger middleware (#41942)
     add 2fac66d1a30 feat(mcp): add update_dataset_metric tool for editing saved dataset metrics (#40975)
     add 8f75f1a353d fix(dashboard): deleted Display Control reappears after Apply Filters (#41999)
     add 68ebc22e1ee refactor: replace Engine.execute() with Connection.execute() (#41917)
     add 5dd060b714a fix(chart-echarts): disable animation for report screenshots so time-shift lines render fully (#42003)
     add 1627fab741b fix(i18n): make every catalog compile clean, canonicalize, fix ja plurals (#41828)
     add e063f5093c9 feat(frontend): upgrade Ant Design from v5 to v6 (#41636)
     add 873566c8272 fix(mcp): stop masking dashboard lookup DB errors as not-found (#41919)
     add d43a0d7633a chore: sqlalchemy.database package warnings are irrelevant (#41978)
     add 64df96be00a fix(nvd3): invoke shiftMetric() in TimePivot formDataOverrides (#41916)
     add 521e51429a7 chore: as_declarative() warnings are irrelevant (#41982)
     add c5131bff47e chore(a11y): enable 9 more jsx-a11y oxlint rules as errors (#42006)
     add 62ccdfacc2f fix(mcp): make list-item truncation cap configurable in get_dashboard_info (#41698)
     add 18f1dd394bb test(security): prove Drill By access does not require can_explore (#27900) (#41967)
     add d4a31d1d78a fix: add subdirectory deployment support for brandSpinnerUrl (#37523)
     add 8262aa7d6b4 fix(explore): restore drag-and-drop reordering broken by @dnd-kit migration (#41637)
     add 9818da445ab fix(a11y): add aria-label to cross-filter search icon (#41619)
     add 3e957b63d47 fix(a11y): make CopyToClipboard keyboard-operable for custom copyNode elements (#41958)
     add ce8219672ec fix(a11y): add accessible labels to EmbedCodeContent height/width inputs (#41995)
     add 25ce83cc58c fix(dashboard): apply auto-refresh interval in standalone mode (#41740)
     add 3c648ca2645 fix(swagger): support URL prefix via APPLICATION_ROOT in OpenAPI and Swagger UI (#40908)
     add 2857b29ab97 test(sqla): assert simple metric quotes columns requiring quoting (#30637) (#41961)
     add 836dce9b058 fix(i18n): reset embedded start guard and align menu error handling (#41491)
     add a2a71760ede fix(e2e): repair master Playwright smoke tests (#42013)
     add 993a43396ae fix: restore all-files pre-commit checks (#42014)
     add e420812eb74 test(filters): guard BIGINT filter value precision (#27510) (#41963)
     add 8afad27c848 chore: convert warning to error if parameters not passed as collection (#41977)
     add e165762bb7c refactor: begin transaction to automatically commit (#41979)
     add 42523f8cc4c fix(async-queries): back off polling when async event requests keep failing (#42012)
     add ccfccdf237e chore(deps-dev): bump oxlint from 1.72.0 to 1.73.0 in /superset-frontend (#42031)
     add 115ce12ff7f chore(deps-dev): bump @typescript-eslint/parser from 8.62.1 to 8.63.0 in /superset-frontend (#42030)
     add 35d05cc2787 chore(deps-dev): bump @swc/plugin-emotion from 14.14.1 to 14.15.0 in /superset-frontend (#42029)
     add e86dcf7b82e chore(deps): bump actions/setup-java from 5.4.0 to 5.5.0 (#42028)
     add 41efdb3082f chore(deps-dev): bump webpack-sources from 3.5.0 to 3.5.1 in /superset-frontend (#42027)
     add 68881a60ca2 chore(deps): bump caniuse-lite from 1.0.30001802 to 1.0.30001803 in /docs (#42026)
     add d49365757c0 chore(deps-dev): bump @typescript-eslint/parser from 8.61.0 to 8.63.0 in /docs (#42025)
     add 258f4c035b9 chore(deps-dev): bump typescript-eslint from 8.62.1 to 8.63.0 in /superset-websocket (#42022)
     add cc32d16e0cc chore(deps-dev): bump @typescript-eslint/parser from 8.62.0 to 8.63.0 in /superset-websocket (#42021)
     add d5e75c48135 fix(ci): correct setup-node version comment in tag-release.yml (#42039)
     add 7075e9f253c fix(event-log): match embedded routes without trailing slash in logger middleware (#42005)
     add 24959d1656d fix(ci): correct setup-node version comment in tech-debt.yml (#42037)
     add 4e10a962531 chore(ci): correct actions/setup-node version comment to v6.4.0 (#42038)
     add 0dcf67fa27d chore(deps-dev): bump typescript-eslint from 8.62.1 to 8.63.0 in /docs (#42024)
     add c4bee525eaa fix(ci): correct mismatched version comment on actions/setup-node pin (#42036)
     add 1f41899deb7 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.62.1 to 8.63.0 in /superset-frontend (#42023)
     add 76bb5f8e698 fix(dashboard): prevent native filter loss when saving chart customizations (#42032)
     add ef3a9e925ec chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.62.0 to 8.63.0 in /superset-websocket (#42020)
     add 4b07d43050a fix(sqllab): collapse left sidebar shows compact db selector in top bar (#41898)
     add 256cc71c877 refactor: import from sqlalchemy.orm (#41981)
     add e3a0d0e41ec fix(versioning): isolate action metadata writes (#41943)
     add c04a0295ef6 fix(chart): keep query-context updates bound to the chart's datasource (#40955)
     add 4446967d0fe chore(lint): convert Storybook stories and shared helpers to function components (#39451)
     add bd9ba242662 fix(mcp): add AliasChoices to chart/dashboard/dataset request schemas (#41597)
     add 0a3c263606e fix(migration): strip metricSqlExpressions from ag_grid_table params (#41591)
     add d68e84e7315 fix(databricks): classify insufficient-permissions errors as 4xx (#41945)
     add be768efc0f4 fix(ci): make pre-commit fail closed instead of silently passing on an empty file list (#42044)
     add 13121fcd587 fix(ci): skip unsupported React 19 Dependabot updates (#42047)
     add 9db88203e16 fix(migration): use sqlalchemy.orm.declarative_base to avoid MovedIn20Warning (#42056)
     add ad8f2cf2680 chore(deps): bump github/codeql-action/analyze from 4.36.3 to 4.37.0 (#42069)
     add 6dcd95e14ab chore(deps-dev): bump syntaqlite from 0.6.0 to 0.7.0 (#42067)
     add b4373f60b3e chore(deps-dev): bump fastmcp from 3.4.2 to 3.4.3 (#42065)
     add abafe195bf9 chore(deps): bump click from 8.4.1 to 8.4.2 (#42064)
     add 7953382d100 feat(submenu_export): Add export to png and pdf options for charts (#38535)
     add d80267d00b1 chore(deps): bump github/codeql-action/init from 4.36.3 to 4.37.0 (#42068)
     add aa85455a5cf fix(i18n): Update Japanese translations (#41984)
     add a540f56f5ca fix(reports): raise typed executor-not-found error in alert-query path (#41486)
     add 2af66b2c9b5 fix(async-queries): add Celery task expiry to GAQ async query tasks (#42084)
     add 6c2b7aceb5a fix(mcp): correct decorator order on query_dataset tool (#41925)
     add f010affbc27 fix(reports): paginate Slack recipient picker for large workspaces (#41998)
     add 53c4603c8c1 chore(deps-dev): bump @types/node from 26.1.0 to 26.1.1 in /superset-frontend (#42077)
     add 071c4315803 chore(deps-dev): bump @types/node from 26.1.0 to 26.1.1 in /superset-websocket (#42076)
     add 7bc1895050c chore(deps-dev): update pydoris requirement from <2.0.0,>=1.0.0 to >=1.2.0,<2.0.0 (#42063)
     add e66d58361a7 chore(deps-dev): update clickhouse-connect requirement from <2.0,>=1.1.1 to >=1.4.2,<2.0 (#42062)
     add 5c8e14e9dc2 chore(deps-dev): bump hdbcli from 2.28.21 to 2.29.23 (#42060)
     add 753113d1692 chore(deps-dev): bump trino from 0.337.0 to 0.338.0 (#42059)
     add cec9afb165b fix(mcp): await ctx.info calls in update_dashboard tool (#41920)
     add f38fff2a19f test(mcp): close systematic test-coverage gaps in mcp_service (#41924)
     add 90f9238f8a5 fix(charts): preserve time filter for expression axes (#42052)
     add beb9d536873 fix(plugin-chart-echarts): use echarts 5.6.0 i18n export path for locale import (#42055)
     add e28b259de00 fix(semantic-layers): expose time grains in Explore for SemanticView datasources (#41456)
     add c6da740ce26 fix(app-root): restore legacy redirects for HEAD and the /superset app root (#42015)
     add da518d7a107 fix(a11y): associate Description label with TagModal input (#42034)
     add e564389a01d fix(a11y): associate Name label with input in CssTemplateModal (#42081)
     add 689fc34ac25 fix: replace deprecated appbuilder.app with current_app in test_explore_redirect (#42086)
     add 6fe4655ba2b fix(semantic-layers): separate grain and offset time-axis resolvers (#42093)
     add c540f782a3d fix(ci): remove Python 3.10 from the test matrix to unblock CI (#42058)
     add 1f786f19499 chore(deps): bump websocket-driver from 0.7.4 to 0.7.5 in /superset-frontend (#42094)
     add 1b0c6aaed36 chore(a11y): enable jsx-a11y/click-events-have-key-events as error (#42009)
     add 2bbb7d06386 feat(mcp): histogram and box plot chart type plugins (#41860)
     add 8ce6d429428 feat(mcp): add restore_chart and restore_dashboard tools (#41842)
     add 409605de708 fix(plugin-chart-echarts): key Mixed Timeseries label maps by rendered series names (#41933)
     add d57569c54a0 feat(reports): add XLSX (Excel) attachments for Alerts & Reports (#41424)
     add 635b18103dc fix(reports): null-guard execution against missing target (#39973)
     add 86030485180 fix(dashboard): block dependent filter from fetching until defaultToFirstItem parent selects (#40978)
     add 13d38a9cbdb test(security): assert intended trailing-slash behavior of security API (#29934) (#41965)
     add f697a0c24de test(charts): assert drill-to-detail carries applied filters (#28562) (#41960)
     add aea4585c6d3 fix(embedded-sdk): handle malformed JWT refresh timing (#40490)
     add 2f7afe4b47d feat(mcp): deleted_state trash listing for list_charts and list_dashboards (#41855)
     add de300c70b9f test(app-root): close two blind spots in the subdirectory redirect tests (#42016)
     add e84f8707872 chore(deps-dev): bump @formatjs/intl-durationformat from 0.10.15 to 0.10.16 in /superset-frontend (#42105)
     add 3b7647eb6ec fix(alerts): remove double border on InputNumber fields in report modal (#42090)
     add 059f6944eb7 fix(migration): use non-deprecated sqlalchemy.orm.declarative_base (#42080)
     add 661535e3909 refactor: automatically load with engine/connection (#41980)
     add 2dfd08fdb3e fix(plugin-chart-echarts): clarify Tooltip sort by metric description for stacked charts (#42106)
     add 33bc35d1354 feat(i18n): backfill Italian (it) translations (AI-generated, needs review) (#42101)
     add 5b57eb38d21 feat(i18n): backfill Chinese (Traditional) (zh_TW) translations (AI-generated, needs review) (#42102)
     add 6f154377d77 feat(i18n): backfill Romanian (ro) translations (AI-generated, needs review) (#42100)
     add b459601ceb5 feat(i18n): backfill missing translations across 24 catalogs (AI-generated, needs review) (#42099)
     add 9e38c1dd13d chore(a11y): enable jsx-a11y/no-static-element-interactions as error (#42096)
     add 30b93ab7432 fix(frontend): fix edit/delete permissions for charts, dashboards, and datasets (#18870) (#32981) (#32995)
     add edca579625a fix(alerts): show typed text in email recipients selector (#42091)
     add c45b9002e64 feat(mcp): register /health HTTP endpoint (#41755)
     add 50672304840 chore(lint): display import/no-duplicates lint rule violation as error (#42042)
     add 20e6dfd37df fix(dashboard): seed default active tab path at hydration (#42075)
     add 9f8e1508ca6 fix(plugin-chart-echarts): show forecast tooltip values when they equal zero (#41311)
     add f467d36a24c fix(i18n): accept script subtags (e.g. sr_Latn) in backfill_po language codes (#42103)
     add 157ef61fd83 fix(charts): render time comparison without a time grain (#42054)
     add dbef0c3feea fix(plugin-chart-ag-grid-table): render Show summary totals row on ag-grid 36 (#42115)
     add 7eab41f9048 chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in /superset-websocket (#42134)
     add ba309fd016f chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in /superset-frontend (#42133)
     add 778800ba821 chore(deps): bump mapbox-gl from 3.25.0 to 3.26.0 in /superset-frontend (#42132)
     add 9bb0e376b36 chore(deps): bump docusaurus-plugin-openapi-docs from 5.1.0 to 5.1.1 in /docs (#42131)
     add 8d36dca9e83 chore(deps): bump react-diff-viewer-continued from 4.2.2 to 4.3.0 in /superset-frontend (#42130)
     add bef03fb8508 chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in /docs (#42128)
     add 929ec58276f chore(deps): bump docusaurus-theme-openapi-docs from 5.1.0 to 5.1.1 in /docs (#42129)
     add 60fb1c6f019 docs(mcp): document all 7 generate_chart chart_type values, fix stale config comment (#41599)
     add 9ccd365652a feat(echarts): respect time grain in time-series tooltips (#41350)
     add 69b144ec16a feat(dashboards): Add open graph metadata for dashboards (#33550)
     add fc506c06daa feat: added email delivery of XLSX reports (#40885)
     add 905b20a3f2c fix(ci): retry change_detector GitHub API calls on transient errors (#42138)
     add c0781ba3164 chore(i18n): update Russian translations (#41885)
     add c05ac138fb9 fix(table): prevent pagination reset on cell click (#42136)
     add 9f230bcfc0c fix(cli): add --username option to import-directory command (#40994)
     add f3255c46ac8 feat(mcp): add dashboard owner, role, and certification management tools (#41606)
     add 73aa8ef280d docs(mcp): fix instruction/docstring drift and annotation metadata in mcp_service (#41922)
     add eef3dac72f8 fix(nav): prevent top navbar from flashing to vertical layout on load (#40781)
     add f8cfa459efb fix(presto): fix latest_sub_partition guard bypass + escape partition filter values (#41877)
     add a99c98c6fee feat(mcp): waterfall chart type plugin (#42070)
     add 5b837e844e9 fix(sqla): cast native UUID columns to string for LIKE/ILIKE filters (#41804)
     add c84a154b524 feat(helm): support additive extra init containers (#42114)
     add 5750d82426c fix(pandas_postprocessing): avoid FutureWarning for mean/median in boxplot (#42004)
     add 5bf26f77f82 fix(label): restore spacing between icon and label text (#42141)
     add 6a330c251b3 chore(deps): bump redis from 5.3.1 to 8.0.1 (#41813)
     add 91f814abead feat(pie): add the ability to make half a donut (#35459)
     add 68297886d42 fix(ci): stop concurrency cancellation from bricking required checks on approval-gated PRs (#42148)
     add ce8d4397cdd test(jinja): prove current_user_* macros produce collision-free cache keys (#42122)
     add 25f6c6c80bc fix(pivot-table): add bottom border to last grouped row (#36081)
     add b432f8c9175 fix(docs): use modern driver package for CrateDB (#42125)
     add 0f61d9a3fb8 fix(bigquery): ensure BigQuery client uses project from engine URI (#41975)
     add 45354994a62 build(deps): update @rjsf deps to v6 (#41955)
     add bda62cb28df chore(deps-dev): bump hdbcli from 2.29.23 to 2.29.25 (#42170)
     add e495fd80f62 chore(deps-dev): bump eslint from 10.6.0 to 10.7.0 in /superset-frontend (#42188)
     add cce77b42f64 chore(deps-dev): bump @formatjs/intl-durationformat from 0.10.16 to 0.10.17 in /superset-frontend (#42184)
     add f6acf68dfaa chore(deps): bump react-intersection-observer from 10.0.3 to 10.1.0 in /superset-frontend (#42181)
     add 8299e7f87c0 chore(deps-dev): bump storybook from 10.4.6 to 10.5.0 in /superset-frontend (#42185)
     add dab5f308425 chore(deps): bump @docusaurus/faster from 3.10.1 to 3.10.2 in /docs (#42179)
     add a58012fc0f2 chore(deps): bump the docusaurus-openapi group in /docs with 2 updates (#42195)
     add 79eff6b6f12 chore(deps): bump greenlet from 3.5.1 to 3.5.3 (#42166)
     add b6ce28ff729 chore(deps): bump typing-extensions from 4.15.0 to 4.16.0 (#42165)
     add 3c233946759 chore(deps-dev): bump eslint from 10.6.0 to 10.7.0 in /superset-websocket (#42159)
     add 74703906df3 chore(deps): bump dom-to-image-more from 3.10.0 to 3.10.2 in /superset-frontend (#42180)
     add 42e5640f609 chore(deps-dev): update nzalchemy requirement from <11.2,>=11.0.2 to >=11.1.2,<11.2 (#42164)
     add 2ada286ee92 chore(deps-dev): update pydynamodb requirement from >=0.4.2 to >=0.8.2 (#42162)
     add 023b60c8f01 chore(deps-dev): bump pandas-gbq from 0.19.1 to 0.35.0 (#42161)
     add ff1cf5f24ed fix(table): hide search dropdown when search box is disabled (#41772)
     add 3e0f9e60c0e fix(charts): preserve minute/second precision in X-axis time labels f… (#41505)
     add 0a66e4ea2d7 fix(helm): support initContainers in supersetWebsockets (#42201)
     add fb29db61192 fix(sqllab): preserve database state on SET_DATABASES (#41281)
     add b9ede492b7e chore(lint): toggle import/named and import/export lint rules to error level (#42189)
     add 6c13ab66574 feat(ci): optimize Storybook testing in CI by replacing `http-server` with Python3 static server (#41956)
     add a83171bce6b fix(database): capture result metadata after fetch (#42127)
     add caf017bd0b3 feat(versioning): cross-entity version activity view (#41076)
     add 5ee4a81906e feat(helm): add Superset MCP server templates (#40507)
     add 4e098b6f385 fix(ag-grid-table): use t('Main') for time comparison column keys to fix i18n (#40681)
     add 751f5eb663f fix(dashboard): disable Discard button when there are no unsaved changes (#40832)
     add cd045886d08 feat(helm): add Gateway API HTTPRoute support (#41073)
     add c4d50472a9b fix(login): oauth and ldap login ignoring superset_app_root (#34657)
     add 42a2aede78d chore(deps): bump pandas from 2.1.4 to 2.3.3 (#42192)
     add 9e9b7c4bbda feat(ci): run helm-unittest on pull requests (#42206)
     add 36dbff091f4 refactor: do not cascade to TaggedObject (#42223)
     add 3e40bebba86 fix(import): enforce write permission for objects created by legacy import paths (#42205)
     add 09148d0af6b fix(time-table): correctly sort computed columns (#41976)
     add 8b415502cf7 chore(deps): bump chrono-node from 2.9.1 to 2.10.0 in /superset-frontend (#42235)
     add 19588826c8a chore(deps-dev): bump baseline-browser-mapping from 2.10.42 to 2.10.43 in /superset-frontend (#42233)
     add 9e8b9ac8cf5 chore(deps-dev): bump tsx from 4.23.0 to 4.23.1 in /superset-frontend (#42232)
     add e044d7783a0 chore(deps): bump dompurify from 3.4.11 to 3.4.12 in /superset-frontend (#42231)
     add b5ae7cbd0d5 chore(deps): bump caniuse-lite from 1.0.30001803 to 1.0.30001805 in /docs (#42228)
     add 7e63b29741a chore(deps): bump antd from 6.5.0 to 6.5.1 in /docs (#42226)
     add 277c814c5ac fix(i18n): review and complete Portuguese (pt_PT) translation catalog (#42137)
     add eed41b64359 chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#42229)
     add ceffbe80f9b chore(deps): bump hot-shots from 16.0.0 to 17.0.0 in /superset-websocket (#42236)
     add 57dc3c0208b chore(deps): bump antd from 6.5.0 to 6.5.1 in /superset-frontend (#42234)
     add 19ca088de63 chore(deps): bump baseline-browser-mapping from 2.10.42 to 2.10.43 in /docs (#42227)
     add c1e660fac84 fix(databases): reset import file entry after invalid file error (#42240)
     add 5a17ae12247 chore: drop Python 3.10 support, require Python 3.11+ (#42045)
     add 515dfef9554 fix(dashboard import): Importing existing dashboard via UI won't update charts and datasets (#34880)
     add f03a66db9c9 fix(dataset): apply HOURS OFFSET to all temporal columns, not just the time column (#41489)
     add 3a3f087869c fix(native-filters): support double-quote escaping for comma in filte… (#39068)
     add 1f81b700c13 chore(ci): upgrade GHA runner image to Ubuntu 26.04 (#42191)
     add e0d0eb6d020 fix(build): deterministic echarts locale imports; fingerprint loaded config (#42154)
     add 15bc73facf4 test(table): add regression test for pagination reset on cell click (#42155)
     add 9178faf9b1b refactor: set cascade_backrefs=False for Query (#42210)
     add 48faca5b8de refactor: set cascade_backrefs=False for SqlaTable (#42213)
     add d65a816b398 chore(lint): toggle `import/no-named-as-default` to error level + fix all violations (#42214)
     add 940e2c34a25 fix(Calendar Heatmap): Add Back chart options for Calendar Heatmap (#26230)
     add 64053271e87 fix(views): remove stray space in @deprecated new_target log message (#42218)
     add 590357731b2 feat(ci): cancel CI runs when hold label applied, re-run on removal (#40387)
     add 158e3219922 chore(deps): bump axios from 1.16.0 to 1.18.1 in /superset-frontend (#42251)
     add b3757870cce fix(sqllab): apply SQL_QUERY_MUTATOR in SQL Lab when MUTATE_AFTER_SPLIT is set (#41127)
     add abd6dc8e448 refactor: set cascade_backrefs=False for SavedQuery (#42212)
     add 034823e99b6 chore: replace deprecated datetime.utcnow()/utcfromtimestamp() (#41502)
     add b4529c2654f feat: add distance unit (#24444)
     add e8727721dc7 test(reports): assert one execution yields a single log row (#29857)
     add 264349e2dbd fix(reports): one execution log row per report execution (#29857)
     add dc232ebd7d9 test(reports): restore WORKING-row invariant check, use UUID in log filter

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   (58c1ee5cb4a)
            \
             N -- N -- N   refs/heads/tdd/issue-29857-report-log-duplicates (dc232ebd7d9)

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

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

No new revisions were added by this update.

Summary of changes:
 .github/ISSUE_TEMPLATE/bug-report.yml              |     3 +-
 .github/actions/file-changes-action                |     1 -
 .github/actions/setup-backend/action.yml           |     2 -
 .github/dependabot.yml                             |    49 +-
 .github/workflows/bump-python-package.yml          |     4 +-
 .github/workflows/check-python-deps.yml            |     2 +-
 .github/workflows/check_db_migration_confict.yml   |     2 +-
 .github/workflows/codeql-analysis.yml              |     8 +-
 .github/workflows/dependency-review.yml            |     4 +-
 .github/workflows/docker.yml                       |    19 +-
 .github/workflows/embedded-sdk-release.yml         |     4 +-
 .github/workflows/embedded-sdk-test.yml            |     4 +-
 .github/workflows/generate-FOSSA-report.yml        |     6 +-
 .github/workflows/github-action-validator.yml      |     4 +-
 .github/workflows/hold-label-ci-gate.yml           |   115 +
 .github/workflows/issue_creation.yml               |     2 +-
 .github/workflows/labeler.yml                      |     4 +-
 .github/workflows/latest-release-tag.yml           |     2 +-
 .github/workflows/license-check.yml                |     4 +-
 .github/workflows/no-hold-label.yml                |     2 +-
 .github/workflows/pr-lint.yml                      |    12 +-
 .github/workflows/pre-commit.yml                   |    87 +-
 .github/workflows/release.yml                      |     6 +-
 .../workflows/scheduled-docker-image-refresh.yml   |    10 +-
 .github/workflows/superset-app-cli.yml             |     2 +-
 .github/workflows/superset-docs-deploy.yml         |     8 +-
 .github/workflows/superset-docs-verify.yml         |     8 +-
 .github/workflows/superset-e2e.yml                 |    15 +-
 .github/workflows/superset-extensions-cli.yml      |     4 +-
 .github/workflows/superset-frontend.yml            |    14 +-
 ...t-helm-lint.yml => superset-helm-lint-test.yml} |    19 +-
 .github/workflows/superset-helm-release.yml        |     2 +-
 .github/workflows/superset-playwright.yml          |     6 +-
 .../workflows/superset-python-integrationtest.yml  |    12 +-
 .github/workflows/superset-python-presto-hive.yml  |     6 +-
 .github/workflows/superset-python-unittest.yml     |    14 +-
 .../workflows/superset-translations-comment.yml    |     2 +-
 .github/workflows/superset-translations.yml        |     6 +-
 .github/workflows/superset-websocket.yml           |     4 +-
 .github/workflows/supersetbot.yml                  |     2 +-
 .github/workflows/tag-release.yml                  |    12 +-
 .github/workflows/tech-debt.yml                    |     6 +-
 .github/workflows/welcome-new-users.yml            |     2 +-
 .gitmodules                                        |     3 -
 .pre-commit-config.yaml                            |    15 +-
 .rat-excludes                                      |     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 +-
 UPDATING.md                                        |    51 +
 docker-compose-light.yml                           |     2 +-
 docker-compose-non-dev.yml                         |     2 +-
 docker-compose.yml                                 |     2 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |     4 +-
 docs/admin_docs/configuration/mcp-server.mdx       |     4 +-
 .../contributing/development-setup.md              |     2 +-
 .../developer_docs/contributing/issue-reporting.md |     4 +-
 docs/developer_docs/index.md                       |     2 +-
 docs/package.json                                  |    40 +-
 docs/src/data/databases.json                       |     2 +-
 .../version-6.0.0/configuration/alerts-reports.mdx |     2 +-
 docs/yarn.lock                                     |  1029 +-
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |    70 +-
 helm/superset/templates/_helpers.tpl               |     6 +
 helm/superset/templates/deployment-beat.yaml       |     8 +-
 helm/superset/templates/deployment-flower.yaml     |     8 +-
 ...{deployment-worker.yaml => deployment-mcp.yaml} |   107 +-
 helm/superset/templates/deployment-worker.yaml     |     8 +-
 helm/superset/templates/deployment-ws.yaml         |     9 +
 helm/superset/templates/deployment.yaml            |     8 +-
 helm/superset/templates/httproute.yaml             |    83 +
 helm/superset/templates/ingress.yaml               |     9 +
 helm/superset/templates/init-job.yaml              |     8 +-
 helm/superset/templates/{pdb.yaml => pdb-mcp.yaml} |     8 +-
 .../templates/{service.yaml => service-mcp.yaml}   |    26 +-
 helm/superset/tests/checksum_test.yaml             |    22 +
 helm/superset/tests/init_containers_test.yaml      |   206 +
 helm/superset/tests/labels_test.yaml               |   119 +
 helm/superset/values.yaml                          |   214 +
 pyproject.toml                                     |    45 +-
 pytest.ini                                         |    19 +-
 requirements/base.txt                              |    19 +-
 requirements/development.txt                       |    45 +-
 .../superset_core/common => scripts}/__init__.py   |     0
 scripts/benchmark_migration.py                     |     9 +-
 scripts/change_detector.py                         |    39 +-
 scripts/check-env.py                               |     4 +-
 scripts/{check-custom-rules.sh => stylelint.sh}    |     9 +-
 scripts/translations/babel_update.sh               |    29 +
 scripts/translations/backfill_po.py                |    24 +-
 superset-core/README.md                            |     2 +-
 superset-core/pyproject.toml                       |     3 +-
 .../src/guestTokenRefresh.test.ts                  |    20 +
 superset-embedded-sdk/src/guestTokenRefresh.ts     |    28 +-
 superset-extensions-cli/README.md                  |     2 +-
 superset-extensions-cli/pyproject.toml             |     3 +-
 superset-frontend/.storybook/preview.jsx           |     2 +-
 superset-frontend/.storybook/shared/Expandable.tsx |    57 +-
 superset-frontend/.storybook/shared/VerifyCORS.tsx |   113 +-
 superset-frontend/.stylelintignore                 |     9 +
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |    15 +-
 .../cypress-base/cypress/e2e/explore/utils.ts      |     4 +-
 .../cypress-base/cypress/support/directories.ts    |    30 +-
 superset-frontend/jest.config.js                   |     2 +-
 superset-frontend/oxlint.json                      |    56 +-
 superset-frontend/package-lock.json                |  3449 ++++--
 superset-frontend/package.json                     |    69 +-
 .../packages/superset-core/package.json            |     2 +-
 .../superset-core/src/theme/GlobalStyles.tsx       |    22 +-
 .../superset-core/src/theme/Theme.test.tsx         |   121 +-
 .../src/theme/__snapshots__/Theme.test.tsx.snap    |   730 ++
 .../superset-core/src/theme/utils/index.ts         |    14 +-
 .../superset-core/src/translation/types/index.ts   |     3 +-
 .../superset-ui-chart-controls/package.json        |     2 +-
 .../src/shared-controls/dndControls.tsx            |     4 +-
 .../src/shared-controls/index.ts                   |     3 +-
 .../src/utils/D3Formatting.ts                      |     3 +
 .../packages/superset-ui-core/package.json         |     8 +-
 .../components/Matrixify/MatrixifyGridCell.tsx     |     2 +-
 .../Matrixify/MatrixifyGridRenderer.test.tsx       |     3 +-
 .../components/Matrixify/MatrixifyGridRenderer.tsx |     3 +-
 .../chart/stories/ChartDataProvider.stories.tsx    |     3 +-
 .../packages/superset-ui-core/src/color/index.ts   |     1 -
 .../components/ActionButton/ActionButton.test.tsx  |    14 +-
 .../src/components/ActionButton/index.tsx          |     2 +
 .../src/components/AsyncAceEditor/index.tsx        |     1 -
 .../src/components/Button/Button.test.tsx          |     2 +-
 .../src/components/Collapse/Collapse.test.tsx      |     6 +-
 .../src/components/Collapse/Collapse.tsx           |     4 +-
 .../src/components/CronPicker/CronPicker.test.tsx  |    24 +-
 .../src/components/CronPicker/index.tsx            |     6 +-
 .../src/components/DesignSystem.stories.tsx        |     6 +-
 .../DropdownContainer/DropdownContainer.tsx        |     9 +-
 .../DropdownContainer/Overview.stories.tsx         |     6 +-
 .../src/components/FaveStar/index.tsx              |     1 +
 .../src/components/Form/LabeledErrorBoundInput.tsx |     8 +
 .../superset-ui-core/src/components/Form/types.ts  |     5 +
 .../src/components/Icons/Icons.stories.tsx         |     6 +-
 .../src/components/Label/Label.test.tsx            |    35 +
 .../src/components/Label/index.tsx                 |    37 +-
 .../MetadataBar/MetadataBarOverview.stories.tsx    |    46 +-
 .../src/components/Modal/Modal.tsx                 |     6 +-
 .../components/ModalTrigger/ModalTrigger.test.tsx  |     8 +-
 .../src/components/ModalTrigger/index.tsx          |    16 +-
 .../PageHeaderWithActions.test.tsx                 |     4 +-
 .../src/components/PopoverSection/index.tsx        |     9 +-
 .../src/components/RefreshLabel/index.tsx          |     1 +
 .../src/components/Select/AsyncSelect.test.tsx     |    36 +-
 .../src/components/Select/AsyncSelect.tsx          |    99 +-
 .../src/components/Select/Select.test.tsx          |   131 +-
 .../src/components/Select/Select.tsx               |    93 +-
 .../src/components/Select/constants.test.ts        |    48 +-
 .../src/components/Select/constants.ts             |    51 +-
 .../src/components/Select/styles.tsx               |    12 +-
 .../src/components/Select/types.ts                 |    14 +-
 .../src/components/Select/utils.test.ts            |   140 +
 .../src/components/Select/utils.tsx                |    75 +-
 .../src/components/Table/TableOverview.stories.tsx |    34 +-
 .../ActionCell/ActionCell.overview.tsx             |     6 +-
 .../TableCollection/TableCollection.test.tsx       |     9 +-
 .../src/components/Tabs/Tabs.test.tsx              |    18 +-
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |     8 +-
 .../src/components/TimezoneSelector/index.tsx      |     2 +-
 .../src/components/Tooltip/Tooltip.stories.tsx     |     2 +-
 .../src/components/Tooltip/index.tsx               |     3 +-
 .../TooltipParagraph/TooltipParagraph.test.tsx     |    37 +-
 .../src/components/antdDomContract.test.tsx        |   240 +
 ...NDigitFormatter.ts => createLengthFormatter.ts} |    32 +-
 .../superset-ui-core/src/number-format/index.ts    |     1 +
 .../number-format/stories/NumberFormat.stories.tsx |   198 +-
 .../src/time-format/stories/TimeFormat.stories.tsx |   175 +-
 .../src/utils/handleKeyboardActivation.test.ts     |    62 +
 .../src/utils/handleKeyboardActivation.ts          |    48 +
 .../packages/superset-ui-core/src/utils/index.ts   |     1 +
 .../factories/createLengthFormatter.test.ts        |    68 +
 .../test/number-format/index.test.ts               |     2 +
 .../test/query/types/PostProcessing.test.ts        |     4 +-
 .../packages/superset-ui-switchboard/src/index.ts  |     4 +-
 .../playwright/components/core/Select.ts           |     2 +-
 .../components/modals/NativeFiltersConfigModal.ts  |    86 +
 .../playwright/components/modals/index.ts          |     1 +
 .../generators/docs/docs-screenshots.spec.ts       |     3 +-
 .../playwright/pages/ChartCreationPage.ts          |     9 +-
 .../playwright/pages/DashboardPage.ts              |    52 +-
 superset-frontend/playwright/pages/ExplorePage.ts  |     2 +-
 .../SaveDatasetModal.ts => pages/HomePage.ts}      |    36 +-
 .../tests/dashboard/clear-all-filters.spec.ts      |    22 +-
 .../tests/dashboard/delete-display-control.spec.ts |   233 +
 .../tests/home/welcome.spec.ts}                    |    27 +-
 .../legacy-plugin-chart-calendar/src/Calendar.ts   |    18 +-
 .../src/controlPanel.ts                            |    37 +-
 .../src/transformProps.ts                          |     4 +
 .../src/CountryMap.ts                              |     2 +-
 .../src/HorizonChart.tsx                           |   101 +-
 .../legacy-plugin-chart-horizon/src/HorizonRow.tsx |   268 +-
 .../test/HorizonChart.test.tsx                     |    51 +
 .../test/HorizonRow.test.tsx                       |   102 +
 .../src/PairedTTest.tsx                            |    77 +-
 .../src/TTestTable.tsx                             |   545 +-
 .../test/TTestTable.test.tsx                       |   365 +
 .../plugins/legacy-preset-chart-nvd3/package.json  |     2 +-
 .../src/TimePivot/controlPanel.ts                  |     5 +-
 .../test/TimePivot/controlPanel.test.ts            |    57 +
 .../src/AgGridTable/components/CustomHeader.tsx    |    40 +-
 .../src/AgGridTable/index.tsx                      |     2 +-
 .../src/AgGridTableChart.tsx                       |     1 -
 .../src/renderers/NumericCellRenderer.tsx          |    16 +-
 .../src/styles/index.tsx                           |    15 +-
 .../src/transformProps.ts                          |    69 +-
 .../src/utils/getCellStyle.ts                      |    10 +-
 .../src/utils/useColDefs.ts                        |    21 +-
 .../test/AgGridTableChart.test.tsx                 |   113 +
 .../test/transformProps.test.ts                    |    50 +
 .../test/utils/getCellStyle.test.ts                |   108 +
 .../src/BigNumber/BigNumberViz.tsx                 |     4 -
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |    55 +-
 .../src/MixedTimeseries/transformProps.ts          |    79 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |    40 +
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   169 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |    37 +
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |     9 +-
 .../src/Timeseries/transformProps.ts               |    26 +-
 .../src/components/Echart.test.tsx                 |    53 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |    86 +-
 .../plugins/plugin-chart-echarts/src/controls.tsx  |     2 +-
 .../plugin-chart-echarts/src/utils/forecast.ts     |    15 +-
 .../plugin-chart-echarts/src/utils/formatters.ts   |    51 +-
 .../EchartsMixedTimeseries.test.tsx                |   223 +
 .../test/MixedTimeseries/transformProps.test.ts    |   285 +
 .../test/Pie/transformProps.test.ts                |   255 +-
 .../test/Timeseries/transformProps.test.ts         |    79 +-
 .../test/Timeseries/transformers.test.ts           |     6 +-
 .../test/utils/forecast.test.ts                    |    69 +
 .../test/utils/formatters.test.ts                  |   118 +
 .../plugin-chart-echarts/types/external.d.ts       |     8 +
 .../plugins/plugin-chart-pivot-table/package.json  |     4 +
 .../src/PivotTableChart.tsx                        |    84 +-
 .../src/react-pivottable/Styles.ts                 |     4 +
 .../src/react-pivottable/TableRenderers.tsx        |    26 +-
 .../test/PivotTableChart.test.tsx                  |   370 +
 .../test/TableRenderer.test.tsx                    |   158 +
 .../test/react-pivottable/tableRenders.test.tsx    |     7 +-
 .../plugin-chart-pivot-table/test/testData.ts      |   232 +
 .../test/testHelpers.tsx                           |     0
 .../test/tsconfig.json                             |     0
 .../plugin-chart-point-cluster-map/package.json    |     2 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |     3 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |     2 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    44 +-
 .../plugins/plugin-chart-table/src/index.ts        |     4 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   194 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |    42 +-
 .../src/chart/WordCloud.tsx                        |   273 +-
 .../src/plugin/controls/ColorSchemeControl.tsx     |     5 +-
 .../src/plugin/controls/RotationControl.tsx        |     6 +-
 .../test/WordCloud.test.tsx                        |   161 +
 .../src/DeckGLContainer.test.tsx                   |     1 +
 .../src/layers/Arc/stories/Arc.stories.tsx         |     3 +-
 .../src/layers/Geojson/transformProps.ts           |     6 +-
 .../spec/helpers/jsDomWithFetchAPI.ts              |    58 +-
 .../spec/helpers/mockBootstrapData.ts              |    47 +
 superset-frontend/spec/helpers/shim.tsx            |     2 +-
 superset-frontend/spec/helpers/testing-library.tsx |    14 +-
 .../src/SqlLab/SqlLabGlobalStyles.tsx              |    10 +-
 .../src/SqlLab/actions/sqlLab.test.ts              |    55 +-
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |    24 +-
 .../src/SqlLab/components/App/index.tsx            |     6 +-
 .../SqlLab/components/AppLayout/AppLayout.test.tsx |    41 +
 .../src/SqlLab/components/AppLayout/index.tsx      |     5 +-
 .../src/SqlLab/components/ColumnElement/index.tsx  |     2 +-
 .../src/SqlLab/components/EditorWrapper/index.tsx  |     4 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |     4 +-
 .../ScheduleQueryButton.test.tsx                   |   137 +
 .../components/ScheduleQueryButton/index.tsx       |    22 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |     4 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    66 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |    57 +-
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |     2 +
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |     2 -
 .../SqlLab/components/SqlEditorTopBar/index.tsx    |     3 +
 .../TabbedSqlEditors/TabbedSqlEditors.test.tsx     |     2 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |    28 +-
 .../src/SqlLab/reducers/sqlLab.test.ts             |    74 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.ts    |    10 +-
 superset-frontend/src/components/Chart/Chart.tsx   |     8 +-
 .../src/components/Chart/ChartRenderer.tsx         |     1 -
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |    19 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |     4 +-
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |     4 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |     1 +
 .../CopyToClipboard/CopyToClipboard.test.tsx       |    13 +
 .../src/components/CopyToClipboard/index.tsx       |    10 +-
 .../src/components/DatabaseSelector/index.tsx      |     6 +-
 .../src/components/DatabaseSelector/types.ts       |     1 +
 .../Datasource/FoldersEditor/TreeItem.styles.ts    |     2 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |    17 +-
 .../components/DatasetUsageTab/index.tsx           |     1 -
 .../tests/DatasourceEditor.test.tsx                |     2 +-
 .../ErrorMessage/DatabaseErrorMessage.tsx          |     3 +-
 .../src/components/ErrorMessage/ErrorAlert.tsx     |     9 +-
 .../ErrorMessage/FrontendNetworkErrorMessage.tsx   |     1 -
 .../ErrorMessage/ParameterErrorMessage.tsx         |     3 +-
 .../ErrorMessage/TimeoutErrorMessage.tsx           |     3 +-
 .../src/components/GridTable/index.tsx             |     1 -
 .../src/components/ImportModal/index.tsx           |    13 +-
 .../src/components/ListView/ListView.test.tsx      |    28 +-
 .../src/components/ListView/ListView.tsx           |    10 +-
 .../src/components/MessageToasts/Toast.tsx         |     2 +-
 .../components/Modal/CollapsibleModalSection.tsx   |     2 -
 .../src/components/Modal/ModalFormField.tsx        |     4 -
 .../src/components/Modal/StandardModal.tsx         |     8 +-
 .../src/components/PanelToolbar/index.tsx          |     3 +-
 .../src/components/ResizableSidebar/index.tsx      |     2 +-
 .../ResizableSidebar/useStoredSidebarWidth.ts      |     2 +-
 .../TableSelector/TableSelector.test.tsx           |     4 +-
 .../src/components/Tag/utils.test.tsx              |     2 +-
 superset-frontend/src/core/sqlLab/models.ts        |     4 +-
 .../dashboard/actions/chartCustomizationActions.ts |     1 +
 .../src/dashboard/actions/hydrate.test.ts          |   276 +
 superset-frontend/src/dashboard/actions/hydrate.ts |    16 +-
 .../src/dashboard/actions/nativeFilters.ts         |     2 +
 .../components/AddSliceCard/AddSliceCard.test.tsx  |     9 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |     2 +-
 .../components/BuilderComponentPane/index.tsx      |     4 +-
 .../components/CustomizationsBadge/index.tsx       |    25 +-
 .../src/dashboard/components/Dashboard.tsx         |    20 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |    52 +
 .../DashboardBuilder/DashboardBuilder.tsx          |     9 +-
 .../DashboardBuilder/DashboardContainer.tsx        |     2 +-
 .../src/dashboard/components/DashboardGrid.tsx     |     8 +-
 .../dashboard/components/FiltersBadge/Styles.tsx   |     1 -
 .../dashboard/components/Header/Header.test.tsx    |    16 +-
 .../components/Header/HeadlessAutoRefresh.test.tsx |   100 +
 .../components/Header/HeadlessAutoRefresh.tsx      |    91 +
 .../src/dashboard/components/Header/index.tsx      |     3 +-
 .../src/dashboard/components/IconButton.test.tsx   |    75 +
 .../src/dashboard/components/IconButton.tsx        |    78 +-
 .../src/dashboard/components/SaveModal.tsx         |     8 +-
 .../src/dashboard/components/SliceHeader/index.tsx |     8 +-
 .../SliceHeaderControls.test.tsx                   |   119 +
 .../components/SliceHeaderControls/index.tsx       |   109 +-
 .../components/URLShortLinkButton/index.tsx        |     1 +
 .../components/filterscope/FilterScopeSelector.tsx |     2 +-
 .../gridComponents/Divider/Divider.test.tsx        |     2 +-
 .../components/gridComponents/Tab/Tab.tsx          |     4 +
 .../components/gridComponents/Tabs/Tabs.test.tsx   |     4 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |     2 -
 .../src/dashboard/components/menu/HoverMenu.tsx    |     2 +-
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |     2 +-
 .../FilterBar/CrossFilters/CrossFilter.test.tsx    |     2 +-
 .../CrossFilters/CrossFilterTitle.test.tsx         |     9 +
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |     1 +
 .../ScopingModal/ChartsScopingListPanel.tsx        |     1 +
 .../FilterBar/FilterBarSettings/index.tsx          |     6 +-
 .../FilterConfigurationLink.test.tsx               |    21 +-
 .../FilterBar/FilterConfigurationLink/index.tsx    |     2 +
 .../useFilterConfigModal.tsx                       |     4 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |    10 +
 .../FilterControls/FilterControlShared.tsx         |     4 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |     2 +-
 .../FilterBar/FilterControls/FilterValue.test.tsx  |   109 +
 .../FilterBar/FilterControls/FilterValue.tsx       |    31 +-
 .../FilterBar/UrlFilters/Vertical.test.tsx         |     4 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |     5 +-
 .../components/nativeFilters/FilterBar/index.tsx   |    13 +-
 .../ConfigModalSidebar/ConfigModalSidebar.tsx      |     2 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |     3 +
 .../FiltersConfigForm/DatasetSelect.test.tsx       |     4 +-
 .../FiltersConfigForm/DependencyList.tsx           |     2 +-
 .../FiltersConfigForm/RemovedFilter.tsx            |     2 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    10 +-
 .../FiltersConfigModal/ItemTitleContainer.tsx      |     3 +
 .../FiltersConfigModal/NewItemDropdown.tsx         |    84 +-
 .../hooks/useCustomizationOperations.ts            |     2 +-
 .../hooks/useFilterOperations.ts                   |     2 +-
 .../components/nativeFilters/state.test.ts         |    97 +-
 .../dashboard/components/nativeFilters/state.ts    |    60 +-
 .../src/dashboard/reducers/dashboardState.test.ts  |    83 +
 .../src/dashboard/reducers/nativeFilters.test.ts   |    54 +-
 .../src/dashboard/reducers/nativeFilters.ts        |    19 +-
 superset-frontend/src/dashboard/styles.ts          |     4 +-
 superset-frontend/src/dashboard/types.ts           |     3 +
 .../dashboard/util/getDefaultActiveTabs.test.ts    |   112 +
 .../src/dashboard/util/getDefaultActiveTabs.ts     |    54 +
 .../src/dashboard/util/getRelatedCharts.test.ts    |     7 +
 .../src/dashboard/util/getRelatedCharts.ts         |     5 +-
 .../src/dashboard/util/permissionUtils.test.ts     |    27 +
 .../src/dashboard/util/permissionUtils.ts          |    19 +-
 superset-frontend/src/embedded/index.test.tsx      |   155 +-
 superset-frontend/src/embedded/index.tsx           |   121 +-
 .../src/explore/components/ControlHeader.tsx       |     2 +
 .../explore/components/ControlPanelsContainer.tsx  |    18 +-
 .../explore/components/DataTableControl/index.tsx  |     2 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |    18 +-
 .../components/DataTableControls.tsx               |     1 +
 .../components/ResultsPaneOnDashboard.tsx          |     4 +-
 .../DataTablesPane/components/SamplesPane.tsx      |     1 -
 .../DatasourcePanelDragOption/index.tsx            |     2 +-
 .../explore/components/DatasourcePanel/index.tsx   |    10 +-
 .../explore/components/EmbedCodeContent.test.tsx   |     6 +
 .../src/explore/components/EmbedCodeContent.tsx    |    15 +-
 .../src/explore/components/ExploreAlert.tsx        |     2 +-
 .../components/ExploreChartHeader/index.tsx        |     3 +-
 .../ExploreChartHeader/useExploreMetadataBar.tsx   |     3 +-
 .../explore/components/ExploreChartPanel/index.tsx |    11 +-
 .../ExploreContainer/ExploreDndContext.test.tsx    |   189 +-
 .../ExploreContainer/ExploreDndContext.tsx         |    93 +-
 .../components/ExploreViewContainer/index.tsx      |    11 +-
 .../src/explore/components/SaveModal.test.tsx      |    21 +
 .../src/explore/components/SaveModal.tsx           |    22 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |     4 +
 .../FormattingPopoverContent.test.tsx              |     4 +-
 .../components/controls/ContourControl/index.tsx   |    14 +-
 .../controls/DatasourceControl/index.tsx           |     1 -
 .../components/DateFunctionTooltip.tsx             |    32 +-
 .../DateFilterControl/tests/CustomFrame.test.tsx   |    20 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |    10 +
 .../DndColumnMetricSelect.test.tsx                 |     5 +-
 .../DndColumnMetricSelect.tsx                      |    12 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |     5 +-
 .../DndColumnSelectPopoverTitle.tsx                |     3 +
 .../DndColumnSelectControl/DndFilterSelect.tsx     |    13 +-
 .../DndMetricSelect.test.tsx                       |    14 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |    24 +-
 .../controls/DndColumnSelectControl/Option.tsx     |     1 +
 .../DndColumnSelectControl/OptionWrapper.tsx       |     7 +-
 .../DndColumnSelectControl/utils/optionSelector.ts |     8 +-
 .../FilterControl/AdhocFilterControl/index.tsx     |    29 +-
 .../AdhocFilterEditPopover.test.tsx                |     5 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |     2 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |     2 +-
 .../index.tsx                                      |     2 +-
 .../controls/LayerConfigsControl/LayerTreeItem.tsx |     3 +
 .../MetricControl/AdhocMetricEditPopover/index.tsx |    11 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |     8 +-
 .../controls/NumberControl/NumberControl.test.tsx  |     2 +-
 .../components/controls/OptionControls/index.tsx   |     8 +-
 .../components/controls/SelectControl.test.tsx     |    78 +-
 .../components/controls/TextControl/index.tsx      |     7 +-
 .../components/controls/ViewportControl.tsx        |     1 +
 .../controls/VizTypeControl/VizTypeGallery.tsx     |     4 +-
 .../components/controls/VizTypeControl/index.tsx   |    13 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |   131 +-
 .../useExploreAdditionalActionsMenu.test.tsx       |   103 +-
 .../explore/controlUtils/getSectionsToRender.ts    |     6 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |   152 +-
 .../src/features/alerts/AlertReportModal.tsx       |    12 +-
 .../alerts/components/NotificationMethod.test.tsx  |   140 +
 .../alerts/components/NotificationMethod.tsx       |   232 +-
 .../NotificationMethodEmailRecipients.test.tsx     |   102 +
 .../src/features/allEntities/AllEntitiesTable.tsx  |     2 +-
 .../src/features/annotations/AnnotationModal.tsx   |     2 +-
 .../src/features/charts/ChartCard.tsx              |   105 +-
 .../cssTemplates/CssTemplateModal.test.tsx         |     9 +
 .../src/features/cssTemplates/CssTemplateModal.tsx |     5 +-
 .../src/features/dashboards/DashboardCard.tsx      |    87 +-
 .../DatabaseConnectionForm/EncryptedField.test.tsx |   142 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |    73 +-
 .../databases/DatabaseModal/index.test.tsx         |    56 +-
 .../src/features/databases/DatabaseModal/index.tsx |     5 +-
 .../src/features/databases/DatabaseModal/styles.ts |    37 +-
 .../databases/UploadDataModel/ColumnsPreview.tsx   |     4 +-
 .../features/databases/UploadDataModel/index.tsx   |     4 +-
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |    59 +-
 .../src/features/home/ChartTable.test.tsx          |     6 +
 superset-frontend/src/features/home/ChartTable.tsx |     6 +-
 .../src/features/home/DashboardTable.test.tsx      |     7 +
 .../src/features/home/DashboardTable.tsx           |     2 +-
 superset-frontend/src/features/home/Menu.test.tsx  |    84 +-
 superset-frontend/src/features/home/Menu.tsx       |    11 +-
 superset-frontend/src/features/home/RightMenu.tsx  |     2 +
 .../src/features/home/SavedQueries.tsx             |     1 -
 .../src/features/queries/QueryPreviewModal.tsx     |     2 +
 .../reports/ReportModal/ReportModal.test.tsx       |     9 +-
 .../src/features/reports/ReportModal/index.tsx     |     4 +
 superset-frontend/src/features/reports/types.ts    |     1 +
 .../src/features/roles/RoleListEditModal.test.tsx  |     2 +-
 .../semanticLayers/MultiEnumControl.test.tsx       |     2 +-
 .../features/semanticLayers/SemanticLayerModal.tsx |     5 -
 .../semanticLayers/jsonFormsAntdRenderers.test.tsx |   125 +
 .../src/features/tags/BulkTagModal.tsx             |     2 +-
 .../src/features/tags/TagModal.test.tsx            |     5 +
 superset-frontend/src/features/tags/TagModal.tsx   |     7 +-
 .../src/features/tasks/TaskPayloadPopover.tsx      |     4 +-
 .../src/features/tasks/TaskStackTracePopover.tsx   |     4 +-
 .../src/features/userInfo/UserInfoModal.tsx        |     2 +-
 superset-frontend/src/features/users/utils.ts      |     2 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |     8 +-
 .../components/Select/SelectFilterPlugin.tsx       |    11 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |     3 +-
 superset-frontend/src/filters/utils.test.ts        |    22 +
 superset-frontend/src/logger/LogUtils.ts           |     4 +
 .../src/middleware/asyncEvent.test.ts              |   231 +
 superset-frontend/src/middleware/asyncEvent.ts     |    29 +-
 superset-frontend/src/middleware/logger.test.ts    |    30 +
 .../src/middleware/loggerMiddleware.ts             |    11 +-
 superset-frontend/src/pages/AllEntities/index.tsx  |     4 +-
 .../src/pages/ChartCreation/index.tsx              |    88 +-
 .../pages/ChartList/ChartList.cardview.test.tsx    |     5 +
 .../pages/ChartList/ChartList.listview.test.tsx    |     7 +-
 .../pages/ChartList/ChartList.permissions.test.tsx |    56 +-
 superset-frontend/src/pages/ChartList/index.tsx    |    95 +-
 .../DashboardList/DashboardList.behavior.test.tsx  |     5 +
 .../DashboardList.permissions.test.tsx             |     7 +-
 .../src/pages/DashboardList/DashboardList.test.tsx |     5 +
 .../src/pages/DashboardList/index.tsx              |    85 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |   107 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |     5 +
 .../DatasetList/DatasetList.listview.test.tsx      |    51 +-
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |     5 +
 superset-frontend/src/pages/DatasetList/index.tsx  |   153 +-
 superset-frontend/src/pages/GroupsList/index.tsx   |     2 +-
 superset-frontend/src/pages/Home/index.tsx         |     8 +-
 superset-frontend/src/pages/Login/index.tsx        |     2 +-
 .../src/pages/RowLevelSecurityList/index.tsx       |     4 +-
 superset-frontend/src/pages/Tags/index.tsx         |     8 +-
 superset-frontend/src/pages/TaskList/index.tsx     |     4 +
 superset-frontend/src/pages/UsersList/index.tsx    |     2 +-
 superset-frontend/src/setup/setupCodeOverrides.ts  |     4 +-
 .../src/setup/setupFormatters.test.ts              |     1 +
 superset-frontend/src/setup/setupFormatters.ts     |    10 +
 superset-frontend/src/theme/ThemeController.ts     |     7 +-
 .../src/utils/downloadAsImage.test.ts              |    53 +-
 superset-frontend/src/utils/downloadAsImage.tsx    |    68 +-
 superset-frontend/src/utils/export.test.ts         |     5 +-
 superset-frontend/src/views/App.tsx                |     4 +-
 superset-frontend/src/views/CRUD/hooks.ts          |     4 +
 superset-frontend/src/views/CRUD/types.ts          |     4 +-
 superset-frontend/src/views/CRUD/utils.tsx         |    17 +-
 superset-frontend/src/views/menu.test.tsx          |   109 +
 superset-frontend/src/views/menu.tsx               |    18 +-
 .../visualizations/TimeTable/TimeTable.test.tsx    |     4 +-
 .../src/visualizations/TimeTable/TimeTable.tsx     |    18 +-
 .../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 +-
 ...t-runner-jest.config.js => stylelint.config.js} |    27 +-
 superset-websocket/package-lock.json               |   414 +-
 superset-websocket/package.json                    |    16 +-
 superset/__init__.py                               |    10 +
 superset/app.py                                    |    11 +-
 superset/async_events/async_query_manager.py       |    30 +-
 superset/async_events/cache_backend.py             |    61 +-
 superset/charts/api.py                             |    85 +-
 superset/charts/client_processing.py               |    44 +-
 superset/cli/importexport.py                       |    34 +-
 superset/cli/test_db.py                            |    14 +-
 superset/commands/chart/exceptions.py              |    13 +
 superset/commands/chart/update.py                  |    54 +
 superset/commands/dashboard/importers/v0.py        |    16 +-
 .../commands/dashboard/importers/v1/__init__.py    |    36 +-
 superset/commands/dataset/duplicate.py             |    63 +-
 superset/commands/dataset/importers/v0.py          |    22 +-
 superset/commands/logs/prune.py                    |     8 +-
 superset/commands/report/alert.py                  |    13 +
 superset/commands/report/exceptions.py             |    13 +
 superset/commands/report/execute.py                |   215 +-
 superset/commands/report/log_prune.py              |     8 +-
 superset/common/query_context_factory.py           |    20 +
 superset/config.py                                 |    59 +-
 superset/connectors/sqla/models.py                 |    11 +-
 superset/connectors/sqla/utils.py                  |     2 +-
 superset/constants.py                              |     1 +
 superset/daos/log.py                               |     4 +-
 superset/daos/query.py                             |     6 +-
 superset/dashboards/api.py                         |    97 +-
 superset/datasets/api.py                           |    93 +-
 superset/db_engine_specs/bigquery.py               |     6 +-
 superset/db_engine_specs/crate.py                  |     2 +-
 superset/db_engine_specs/databricks.py             |    75 +-
 superset/db_engine_specs/doris.py                  |    12 +-
 superset/db_engine_specs/duckdb.py                 |    13 +-
 superset/db_engine_specs/hive.py                   |    36 +-
 superset/db_engine_specs/impala.py                 |    11 +-
 superset/db_engine_specs/postgres.py               |    15 +-
 superset/db_engine_specs/presto.py                 |    19 +-
 superset/db_engine_specs/snowflake.py              |    13 +-
 superset/db_engine_specs/starrocks.py              |    42 +-
 superset/embedded/view.py                          |     3 +
 superset/examples/generic_loader.py                |    11 +-
 superset/extensions/metadb.py                      |    34 +-
 superset/initialization/__init__.py                |    21 +
 superset/mcp_service/CLAUDE.md                     |     8 +-
 superset/mcp_service/README.md                     |     2 +-
 superset/mcp_service/app.py                        |    65 +-
 superset/mcp_service/chart/chart_utils.py          |    98 +-
 superset/mcp_service/chart/plugins/__init__.py     |     9 +
 superset/mcp_service/chart/plugins/box_plot.py     |   155 +
 superset/mcp_service/chart/plugins/histogram.py    |   197 +
 superset/mcp_service/chart/plugins/waterfall.py    |   186 +
 superset/mcp_service/chart/schemas.py              |   363 +-
 superset/mcp_service/chart/tool/__init__.py        |     2 +
 superset/mcp_service/chart/tool/generate_chart.py  |    69 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |     3 +
 .../mcp_service/chart/tool/get_chart_preview.py    |     5 +-
 .../chart/tool/get_chart_type_schema.py            |    54 +-
 superset/mcp_service/chart/tool/list_charts.py     |     7 +-
 superset/mcp_service/chart/tool/restore_chart.py   |   180 +
 .../mcp_service/chart/tool/update_chart_preview.py |     2 +-
 .../chart/validation/dataset_validator.py          |     7 +-
 superset/mcp_service/constants.py                  |     2 +
 superset/mcp_service/dashboard/schemas.py          |   488 +-
 superset/mcp_service/dashboard/tool/__init__.py    |     8 +
 .../dashboard/tool/get_dashboard_info.py           |     8 +
 .../mcp_service/dashboard/tool/governance_utils.py |   120 +
 .../mcp_service/dashboard/tool/list_dashboards.py  |     5 +-
 .../tool/manage_dashboard_certification.py         |   155 +
 .../dashboard/tool/manage_dashboard_owners.py      |   383 +
 .../dashboard/tool/manage_dashboard_roles.py       |   326 +
 .../dashboard/tool/restore_dashboard.py            |   193 +
 .../mcp_service/dashboard/tool/update_dashboard.py |    21 +-
 superset/mcp_service/dataset/dataset_utils.py      |    50 +
 superset/mcp_service/dataset/schemas.py            |   163 +-
 superset/mcp_service/dataset/tool/__init__.py      |     2 +
 superset/mcp_service/dataset/tool/query_dataset.py |    32 +-
 .../dataset/tool/update_dataset_metric.py          |   294 +
 superset/mcp_service/mcp_config.py                 |    27 +-
 superset/mcp_service/mcp_core.py                   |    96 +-
 superset/mcp_service/middleware.py                 |    40 +-
 superset/mcp_service/server.py                     |    17 +
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    89 +-
 superset/mcp_service/storage.py                    |    11 +-
 superset/mcp_service/utils/token_utils.py          |    12 +-
 superset/middleware/legacy_prefix_redirect.py      |    56 +-
 superset/migrations/shared/catalogs.py             |     3 +-
 superset/migrations/shared/migrate_viz/base.py     |     3 +-
 superset/migrations/shared/security_converge.py    |     3 +-
 ..._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 |     3 +-
 ...-09-07_23-50_33d996bcc382_update_slice_model.py |     2 +-
 ...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 |     2 +-
 .../2018-02-13_08-07_e866bd2d4976_smaller_grid.py  |     2 +-
 ...-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 |     2 +-
 ...6-07_09-52_afb7730f6a9c_remove_empty_filters.py |     2 +-
 ...13_10-20_4451805bbaa1_remove_double_percents.py |     2 +-
 .../2018-06-13_14-54_bddc498dd179_adhoc_filters.py |     2 +-
 ...4_14-31_80a67c5192fa_single_pie_chart_metric.py |     2 +-
 ...1c4c6_migrate_num_period_compare_and_period_.py |     2 +-
 .../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 |     3 +-
 ...8-07-26_11-10_c82ee8a39623_add_implicit_tags.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 |     2 +-
 .../2019-03-21_10-22_d94d33dbe938_form_strip.py    |     2 +-
 ...a3f04bc82_add_parent_ids_in_dashboard_layout.py |     2 +-
 .../2019-06-28_13-17_ab8c66efdd01_resample.py      |     2 +-
 ...ng_unique_constraint_on_dashboard_slices_tbl.py |     2 +-
 ...5afa9079866a_serialize_schema_permissions_py.py |     3 +-
 ...e_form_strip_leading_and_trailing_whitespace.py |     2 +-
 .../2019-10-10_13-52_1495eb914ad3_time_range.py    |     2 +-
 ...127d0d1d_reconvert_legacy_filters_into_adhoc.py |     2 +-
 ...-08_01-17_e96dbf2cfef0_datasource_cluster_fk.py |     8 +-
 ..._14-13_3325d4caccc8_dashboard_scoped_filters.py |     3 +-
 ...10-42_f9a30386bd74_cleanup_time_grainularity.py |     2 +-
 ...57699a813e_add_tables_relation_to_row_level_.py |     8 +-
 ...29_09-24_620241d1153f_update_time_grain_sqla.py |     2 +-
 ...978245563a02_migrate_iframe_to_dash_markdown.py |     3 +-
 ...828ac4e_add_rls_filter_type_and_grouping_key.py |     2 +-
 ...654_fix_data_access_permissions_for_virtual_.py |     3 +-
 ...b56500de1855_add_uuid_column_to_import_mixin.py |     3 +-
 ...208f_collapse_alerting_models_into_a_single_.py |     9 +-
 ...6e99fb176a0_add_import_mixing_to_saved_query.py |     2 +-
 ...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 |     2 +-
 ...1412ec1e5a7b_legacy_force_directed_to_echart.py |     2 +-
 ...989bbe479899_rename_filter_configuration_in_.py |     2 +-
 ...ea61c5e7_remove_dataset_health_check_message.py |     2 +-
 ...88938_country_map_use_lowercase_country_name.py |     2 +-
 ...3a3a8ff221_migrate_filter_sets_to_new_format.py |     2 +-
 ...ed7ec95_migrate_native_filters_to_new_schema.py |     2 +-
 ...3605f370a_fix_schemas_allowed_for_csv_upload.py |     2 +-
 ...15da_migrate_pivot_table_v2_heatmaps_to_new_.py |     2 +-
 ...4fbb_add_type_to_native_filter_configuration.py |     2 +-
 ...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 |     2 +-
 ...aa3ff_add_force_screenshot_to_alerts_reports.py |     2 +-
 ...5b9441_rename_big_viz_total_form_data_fields.py |     2 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |     2 +-
 ...d8e252_fix_query_and_saved_query_null_schema.py |     2 +-
 ...b0ca7944_change_adhoc_filter_b_from_none_to_.py |     2 +-
 ...14-38_a9422eeaae74_new_dataset_models_take_2.py |     9 +-
 ...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 |     3 +-
 ..._16-17_f3afaf1f11f0_add_unique_name_desc_rls.py |     3 +-
 ...59_7fb8bca906d2_permalink_rename_filterstate.py |     3 +-
 ...5-48_409c7b420ab0_add_created_by_fk_as_owner.py |     2 +-
 ...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 |     2 +-
 ...7_13-24_b5ea9d343307_bar_chart_stack_options.py |     2 +-
 ...03-27_12-30_7e67aecbf3f1_chart_ds_constraint.py |     2 +-
 ...2a5681ddfd_convert_key_value_entries_to_json.py |     3 +-
 ...-41_4ea966691069_cross_filter_global_scoping.py |     2 +-
 ...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 |     2 +-
 ...d09c9_migrate_filter_boxes_to_native_filters.py |     3 +-
 ...47_be1b217cd8cd_big_number_kpi_single_metric.py |     2 +-
 ...9123a_update_charts_with_old_time_comparison.py |     2 +-
 ...fdba9f_merge_x_axis_sort_series_with_x_axis_.py |     2 +-
 ...2_convert_metric_currencies_from_str_to_json.py |     2 +-
 ...8d8526_fix_form_data_string_in_query_context.py |     2 +-
 ...rip_metricsqlexpressions_from_ag_grid_params.py |   110 +
 superset/models/core.py                            |     6 +-
 superset/models/helpers.py                         |   346 +-
 superset/models/sql_lab.py                         |    25 +-
 .../extensions => superset/openapi}/__init__.py    |     4 +
 superset/openapi/manager.py                        |   143 +
 superset/reports/api.py                            |    11 +-
 superset/reports/models.py                         |     6 +
 superset/reports/notifications/base.py             |     1 +
 superset/reports/notifications/email.py            |    55 +-
 superset/reports/notifications/slack.py            |     2 +
 superset/reports/notifications/slackv2.py          |     2 +
 superset/reports/notifications/webhook.py          |    12 +
 superset/reports/schemas.py                        |     3 +
 superset/security/manager.py                       |     6 +-
 superset/semantic_layers/mapper.py                 |   108 +-
 superset/semantic_layers/models.py                 |    70 +-
 superset/sql/dialects/firebolt.py                  |     5 +-
 superset/sql/execution/celery_task.py              |    44 +-
 superset/sql/execution/executor.py                 |   117 +-
 superset/sql_lab.py                                |    29 +-
 superset/sqllab/sql_json_executer.py               |     8 +-
 superset/subjects/utils.py                         |    35 +
 superset/tags/models.py                            |    12 +-
 superset/templates/superset/spa.html               |     6 +
 superset/translations/ar/LC_MESSAGES/messages.po   |  1103 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |   674 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   669 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   681 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   472 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   718 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |   692 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   720 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   675 +-
 superset/translations/it/LC_MESSAGES/messages.po   |  4218 ++++----
 superset/translations/ja/LC_MESSAGES/messages.po   |  3696 ++++---
 superset/translations/ko/LC_MESSAGES/messages.po   |  1137 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |   656 +-
 superset/translations/messages.pot                 |   451 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |   679 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   674 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |   686 +-
 superset/translations/pt/LC_MESSAGES/messages.po   | 10365 +++++++------------
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   688 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |  3787 +++++--
 superset/translations/ru/LC_MESSAGES/messages.po   |  1806 ++--
 superset/translations/sk/LC_MESSAGES/messages.po   |   671 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   674 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |   773 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |   772 +-
 superset/translations/th/LC_MESSAGES/messages.po   |   717 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   682 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   669 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |  1031 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  2662 +++--
 superset/utils/backports.py                        |    11 +-
 superset/utils/cache.py                            |    10 +-
 superset/utils/core.py                             |    50 +-
 superset/utils/csv.py                              |    48 +-
 superset/utils/date_parser.py                      |    77 +-
 superset/utils/dates.py                            |     4 +-
 superset/utils/mock_data.py                        |    16 +-
 superset/utils/pandas_postprocessing/boxplot.py    |    10 +-
 superset/utils/pandas_sqlalchemy_compat.py         |    80 +
 superset/versioning/activity/__init__.py           |   102 +
 superset/versioning/activity/impact.py             |   186 +
 superset/versioning/activity/kinds.py              |   210 +
 superset/versioning/activity/orchestrator.py       |   434 +
 superset/versioning/activity/queries.py            |   870 ++
 superset/versioning/activity/render.py             |   285 +
 superset/versioning/activity/scope.py              |   138 +
 superset/versioning/activity/visibility.py         |   206 +
 superset/versioning/activity/windows.py            |   108 +
 superset/versioning/api_helpers.py                 |   127 +-
 superset/versioning/changes/listener.py            |    53 +-
 superset/versioning/diff.py                        |     8 +-
 superset/versioning/schemas.py                     |   332 +-
 superset/views/base.py                             |    29 +-
 superset/views/core.py                             |     1 +
 .../example_data/data_loading/base_data_loader.py  |     2 +-
 .../data_loading/pandas/pandas_data_loader.py      |     3 +-
 tests/integration_tests/base_tests.py              |     3 +-
 tests/integration_tests/celery_tests.py            |     6 +-
 tests/integration_tests/cli_tests.py               |   118 +-
 tests/integration_tests/conftest.py                |    90 +-
 tests/integration_tests/dao/base_dao_test.py       |     2 +-
 .../databases/commands/upload_test.py              |    55 +-
 tests/integration_tests/datasets/api_tests.py      |    27 +-
 tests/integration_tests/datasets/commands_tests.py |    20 +-
 tests/integration_tests/datasource_tests.py        |    36 +-
 .../db_engine_specs/hive_tests.py                  |    20 +-
 .../db_engine_specs/presto_tests.py                |    30 +-
 tests/integration_tests/fixtures/datasource.py     |     2 +-
 .../integration_tests/fixtures/energy_dashboard.py |     3 +-
 .../fixtures/unicode_dashboard.py                  |     3 +-
 .../fixtures/world_bank_dashboard.py               |     3 +-
 tests/integration_tests/query_context_tests.py     |    11 +-
 tests/integration_tests/reports/commands_tests.py  |   145 +-
 tests/integration_tests/reports/utils.py           |     3 +
 .../security/row_level_security_tests.py           |   107 +
 tests/integration_tests/sqla_models_tests.py       |     2 +
 tests/integration_tests/sqllab_tests.py            |    50 +-
 .../versioning/activity_view_tests.py              |  1256 +++
 .../versioning/change_records_tests.py             |   718 ++
 .../versioning/perf_validation_tests.py            |   423 +
 .../versioning/transaction_correctness_tests.py    |    84 +
 .../views/test_explore_redirect.py                 |    41 +-
 .../async_events/async_query_manager_tests.py      |    83 +-
 .../unit_tests/async_events/test_cache_backend.py  |   148 +
 tests/unit_tests/charts/test_client_processing.py  |    96 +
 tests/unit_tests/commands/chart/update_test.py     |    91 +-
 .../commands/dashboard/importers/v1/assets_test.py |   215 +
 .../unit_tests/commands/dataset/test_duplicate.py  |    13 +
 tests/unit_tests/commands/report/alert_test.py     |    40 +-
 tests/unit_tests/commands/report/execute_test.py   |   358 +-
 tests/unit_tests/common/test_query_actions.py      |    88 +
 .../common/test_query_context_factory.py           |   132 +
 .../common/test_query_context_processor.py         |   298 +-
 tests/unit_tests/common/test_time_shifts.py        |   399 +-
 tests/unit_tests/dao/base_dao_test.py              |     2 +-
 .../dashboards/commands/importers/v0}/__init__.py  |     0
 .../commands/importers/v0/import_test.py           |    92 +
 .../datasets/commands/importers/v0}/__init__.py    |     0
 .../datasets/commands/importers/v0/import_test.py  |    77 +
 tests/unit_tests/db_engine_specs/test_bigquery.py  |    72 +
 .../unit_tests/db_engine_specs/test_databricks.py  |    74 +
 tests/unit_tests/db_engine_specs/test_datastore.py |     2 +-
 tests/unit_tests/db_engine_specs/test_doris.py     |    17 +-
 tests/unit_tests/db_engine_specs/test_presto.py    |    66 +
 tests/unit_tests/db_engine_specs/test_sqlite.py    |     9 +-
 tests/unit_tests/db_engine_specs/test_starrocks.py |     6 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    14 +-
 tests/unit_tests/explore/utils_test.py             |    74 +
 tests/unit_tests/extensions/test_sqlalchemy.py     |   115 +-
 tests/unit_tests/jinja_context_test.py             |   130 +
 .../mcp_service/chart/test_chart_schemas.py        |    67 +
 .../chart/test_histogram_boxplot_charts.py         |   465 +
 .../mcp_service/chart/test_waterfall_chart.py      |   316 +
 .../mcp_service/chart/tool/test_generate_chart.py  |     1 +
 .../chart/tool/test_get_chart_type_schema.py       |     9 +-
 .../chart/tool/test_list_charts_deleted_state.py   |   171 +
 .../mcp_service/chart/tool/test_restore_chart.py   |   242 +
 .../dashboard/test_dashboard_schemas.py            |    73 +
 .../mcp_service/{ => dashboard/tool}/conftest.py   |    34 +-
 .../dashboard/tool/test_dashboard_tools.py         |    29 +
 .../tool/test_list_dashboards_deleted_state.py     |   176 +
 .../tool/test_manage_dashboard_certification.py    |   365 +
 .../dashboard/tool/test_manage_dashboard_owners.py |   639 ++
 .../dashboard/tool/test_manage_dashboard_roles.py  |   573 +
 ...lete_dashboard.py => test_restore_dashboard.py} |   178 +-
 .../dashboard/tool/test_update_dashboard.py        |    62 +-
 .../database/tool/test_database_tools.py           |    74 +-
 .../mcp_service/dataset/test_dataset_schemas.py    |    54 +
 .../mcp_service/dataset/tool/test_query_dataset.py |    92 +-
 .../dataset/tool/test_update_dataset_metric.py     |   541 +
 .../mcp_service/rls/tool/test_rls_tools.py         |    72 +-
 .../tool/test_get_compatible_dimensions.py         |    89 +
 .../tool/test_get_compatible_metrics.py            |    89 +
 .../semantic_layer/tool/test_get_table.py          |   229 +
 .../semantic_layer/tool/test_list_metrics.py       |   266 +-
 .../sql_lab/tool/test_open_sql_lab_with_context.py |   119 +-
 .../mcp_service/system/resources}/__init__.py      |     0
 .../system/resources/test_schema_discovery.py      |   133 +
 .../mcp_service/system/tool/test_health_check.py   |   134 +
 .../mcp_service/tag/tool/test_tag_tools.py         |    69 +-
 tests/unit_tests/mcp_service/test_mcp_core.py      |    73 +-
 tests/unit_tests/mcp_service/test_mcp_e2e_smoke.py |   228 +
 tests/unit_tests/mcp_service/test_mcp_server.py    |    60 +
 tests/unit_tests/mcp_service/test_middleware.py    |    89 +
 .../mcp_service/test_rbac_tool_enforcement.py      |   256 +
 .../mcp_service/theme/tool/test_get_theme_info.py  |    39 +
 .../mcp_service/theme/tool/test_list_themes.py     |   173 +
 .../mcp_service/user/tool/test_user_tools.py       |    66 +-
 .../mcp_service/utils/test_cache_utils.py          |   271 +
 .../mcp_service/utils/test_oauth2_utils.py         |    96 +
 .../mcp_service/utils/test_retry_utils.py          |   396 +
 .../mcp_service/utils/test_token_utils.py          |    72 +
 .../middleware/test_legacy_prefix_redirect.py      |   214 +-
 .../test_add_deleted_at_to_dashboards.py           |    14 +-
 .../migrations/test_add_deleted_at_to_slices.py    |    10 +-
 .../migrations/test_add_deleted_at_to_tables.py    |    10 +-
 ...rip_metricsqlexpressions_from_ag_grid_params.py |   203 +
 tests/unit_tests/models/core_test.py               |    92 +-
 tests/unit_tests/models/helpers_test.py            |   551 +-
 .../unit_tests/models/test_no_filter_time_range.py |    42 +-
 .../unit_tests/openapi}/__init__.py                |     0
 tests/unit_tests/openapi/test_manager.py           |    77 +
 .../pandas_postprocessing/test_boxplot.py          |    24 +
 tests/unit_tests/reports/api_test.py               |    41 +
 tests/unit_tests/reports/model_test.py             |     9 +-
 .../reports/notifications/email_tests.py           |   124 +
 .../reports/notifications/slack_tests.py           |    78 +
 .../reports/notifications/webhook_tests.py         |    31 +
 tests/unit_tests/scripts/change_detector_test.py   |    96 +
 .../scripts/translations/backfill_po_test.py       |    18 +
 tests/unit_tests/security/api_test.py              |    55 +
 tests/unit_tests/semantic_layers/mapper_test.py    |   377 +
 tests/unit_tests/semantic_layers/models_test.py    |   112 +
 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_lab_test.py                   |   210 +
 tests/unit_tests/sqllab/test_sql_json_executer.py  |   150 +
 tests/unit_tests/subjects/test_utils.py            |    56 +
 tests/unit_tests/utils/csv_tests.py                |     3 +
 tests/unit_tests/utils/date_parser_tests.py        |   107 +
 .../utils/pandas_sqlalchemy_compat_test.py         |    67 +
 tests/unit_tests/utils/test_core.py                |    38 +
 tests/unit_tests/utils/test_date_parsing.py        |    91 +
 tests/unit_tests/versioning/test_activity.py       |   827 ++
 tests/unit_tests/views/test_base.py                |    19 +
 tests/unit_tests/views/test_base_theme_helpers.py  |   132 +
 .../views/test_redirect_view_subdirectory.py       |    63 +-
 938 files changed, 71187 insertions(+), 23442 deletions(-)
 delete mode 160000 .github/actions/file-changes-action
 create mode 100644 .github/workflows/hold-label-ci-gate.yml
 rename .github/workflows/{superset-helm-lint.yml => superset-helm-lint-test.yml} (69%)
 copy helm/superset/templates/{deployment-worker.yaml => deployment-mcp.yaml} (61%)
 create mode 100644 helm/superset/templates/httproute.yaml
 copy helm/superset/templates/{pdb.yaml => pdb-mcp.yaml} (82%)
 copy helm/superset/templates/{service.yaml => service-mcp.yaml} (55%)
 create mode 100644 helm/superset/tests/init_containers_test.yaml
 copy {superset-core/src/superset_core/common => scripts}/__init__.py (100%)
 copy scripts/{check-custom-rules.sh => stylelint.sh} (81%)
 create mode 100644 superset-frontend/.stylelintignore
 create mode 100644 superset-frontend/packages/superset-core/src/theme/__snapshots__/Theme.test.tsx.snap
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/Select/utils.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/antdDomContract.test.tsx
 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/src/utils/handleKeyboardActivation.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/utils/handleKeyboardActivation.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/factories/createLengthFormatter.test.ts
 create mode 100644 superset-frontend/playwright/components/modals/NativeFiltersConfigModal.ts
 copy superset-frontend/playwright/{components/modals/SaveDatasetModal.ts => pages/HomePage.ts} (57%)
 create mode 100644 superset-frontend/playwright/tests/dashboard/delete-display-control.spec.ts
 copy superset-frontend/{src/SqlLab/hooks/useAppDispatch.ts => playwright/tests/home/welcome.spec.ts} (51%)
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/test/HorizonChart.test.tsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-horizon/test/HorizonRow.test.tsx
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/test/TTestTable.test.tsx
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/TimePivot/controlPanel.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/getCellStyle.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/MixedTimeseries/EchartsMixedTimeseries.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/test/PivotTableChart.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/test/TableRenderer.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/test/testData.ts
 copy superset-frontend/plugins/{plugin-chart-table => plugin-chart-pivot-table}/test/testHelpers.tsx (100%)
 copy superset-frontend/plugins/{plugin-chart-table => plugin-chart-pivot-table}/test/tsconfig.json (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/WordCloud.test.tsx
 create mode 100644 superset-frontend/spec/helpers/mockBootstrapData.ts
 create mode 100644 superset-frontend/src/SqlLab/components/ScheduleQueryButton/ScheduleQueryButton.test.tsx
 create mode 100644 superset-frontend/src/dashboard/actions/hydrate.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/Header/HeadlessAutoRefresh.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/Header/HeadlessAutoRefresh.tsx
 create mode 100644 superset-frontend/src/dashboard/components/IconButton.test.tsx
 create mode 100644 superset-frontend/src/dashboard/util/getDefaultActiveTabs.test.ts
 create mode 100644 superset-frontend/src/dashboard/util/getDefaultActiveTabs.ts
 create mode 100644 superset-frontend/src/features/alerts/components/NotificationMethodEmailRecipients.test.tsx
 create mode 100644 superset-frontend/src/features/semanticLayers/jsonFormsAntdRenderers.test.tsx
 create mode 100644 superset-frontend/src/views/menu.test.tsx
 copy superset-frontend/{test-runner-jest.config.js => stylelint.config.js} (65%)
 create mode 100644 superset/mcp_service/chart/plugins/box_plot.py
 create mode 100644 superset/mcp_service/chart/plugins/histogram.py
 create mode 100644 superset/mcp_service/chart/plugins/waterfall.py
 create mode 100644 superset/mcp_service/chart/tool/restore_chart.py
 create mode 100644 superset/mcp_service/dashboard/tool/governance_utils.py
 create mode 100644 superset/mcp_service/dashboard/tool/manage_dashboard_certification.py
 create mode 100644 superset/mcp_service/dashboard/tool/manage_dashboard_owners.py
 create mode 100644 superset/mcp_service/dashboard/tool/manage_dashboard_roles.py
 create mode 100644 superset/mcp_service/dashboard/tool/restore_dashboard.py
 create mode 100644 superset/mcp_service/dataset/dataset_utils.py
 create mode 100644 superset/mcp_service/dataset/tool/update_dataset_metric.py
 create mode 100644 superset/migrations/versions/2026-06-30_00-00_d24e6b0a9c7f_strip_metricsqlexpressions_from_ag_grid_params.py
 copy {superset-core/src/superset_core/extensions => superset/openapi}/__init__.py (88%)
 create mode 100644 superset/openapi/manager.py
 create mode 100644 superset/utils/pandas_sqlalchemy_compat.py
 create mode 100644 superset/versioning/activity/__init__.py
 create mode 100644 superset/versioning/activity/impact.py
 create mode 100644 superset/versioning/activity/kinds.py
 create mode 100644 superset/versioning/activity/orchestrator.py
 create mode 100644 superset/versioning/activity/queries.py
 create mode 100644 superset/versioning/activity/render.py
 create mode 100644 superset/versioning/activity/scope.py
 create mode 100644 superset/versioning/activity/visibility.py
 create mode 100644 superset/versioning/activity/windows.py
 create mode 100644 tests/integration_tests/versioning/activity_view_tests.py
 create mode 100644 tests/integration_tests/versioning/change_records_tests.py
 create mode 100644 tests/integration_tests/versioning/perf_validation_tests.py
 create mode 100644 tests/unit_tests/async_events/test_cache_backend.py
 create mode 100644 tests/unit_tests/commands/dashboard/importers/v1/assets_test.py
 create mode 100644 tests/unit_tests/common/test_query_actions.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/dashboards/commands/importers/v0}/__init__.py (100%)
 create mode 100644 tests/unit_tests/dashboards/commands/importers/v0/import_test.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/datasets/commands/importers/v0}/__init__.py (100%)
 create mode 100644 tests/unit_tests/datasets/commands/importers/v0/import_test.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_histogram_boxplot_charts.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_waterfall_chart.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_list_charts_deleted_state.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_restore_chart.py
 copy tests/unit_tests/mcp_service/{ => dashboard/tool}/conftest.py (55%)
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_list_dashboards_deleted_state.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_manage_dashboard_certification.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_manage_dashboard_owners.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_manage_dashboard_roles.py
 copy tests/unit_tests/mcp_service/dashboard/tool/{test_delete_dashboard.py => test_restore_dashboard.py} (54%)
 create mode 100644 tests/unit_tests/mcp_service/dataset/test_dataset_schemas.py
 create mode 100644 tests/unit_tests/mcp_service/dataset/tool/test_update_dataset_metric.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/system/resources}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/system/resources/test_schema_discovery.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_e2e_smoke.py
 create mode 100644 tests/unit_tests/mcp_service/test_rbac_tool_enforcement.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_cache_utils.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_oauth2_utils.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_retry_utils.py
 create mode 100644 tests/unit_tests/migrations/test_strip_metricsqlexpressions_from_ag_grid_params.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/openapi}/__init__.py (100%)
 create mode 100644 tests/unit_tests/openapi/test_manager.py
 create mode 100644 tests/unit_tests/scripts/change_detector_test.py
 create mode 100644 tests/unit_tests/sqllab/test_sql_json_executer.py
 create mode 100644 tests/unit_tests/utils/pandas_sqlalchemy_compat_test.py
 create mode 100644 tests/unit_tests/versioning/test_activity.py