You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by gi...@apache.org on 2025/12/04 20:38:44 UTC

(superset) branch dependabot/github_actions/actions/setup-node-6 updated (c74fb1f7b5 -> 0b83b3c944)

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

github-bot pushed a change to branch dependabot/github_actions/actions/setup-node-6
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard c74fb1f7b5 chore(deps): bump actions/setup-node from 5 to 6
     add 21d585d586 fix(explore): show validation errors in View Query modal (#35969)
     add e2e831e322 fix(permalink): exclude edit mode from dashboard permalink (#35889)
     add 9be61a1245 fix(dashboard): prevent validation error in properties modal when ope… (#36045)
     add 4376476ec4 fix: saved query preview modal not highlighting active rows (#35866)
     add d123249bd2 fix(dashboard): align filter bar elements vertically in horizontal mode (#36036)
     add 9fbfcf0ccd fix(sqllab): prevent unwanted tab switching when autocompleting table names on SQL Lab (#35992)
     add 0b535b792e feat(frontend): add dataset cache clearing utilities and integration (#35264)
     add a45c0528da fix(dashboard): dashboard filter was incorrectly showing as out of scope (#35886)
     add bb2e2a5ed6 fix: fix tabs overflow in dashboards (#35984)
     add c244e7f847 fix(mcp): simplify health_check tool and refactor system utils (#36063)
     add 008c7c6517 fix(table-chart): fix missing table header IDs (#35968)
     add 310dcd7b94 chore: :globe_with_meridians: Translations added to ES .po file (#30759)
     add 306f4c14cf fix(sql): quote column names with spaces to prevent SQLGlot parsing errors (#35553)
     add 60f29ba6fb chore(logs): Add is_cached in sync AND async results (#36102)
     add 4515d18ddd fix(navbar): Minor fixes in navbar spacings (#36091)
     add 6701d0ae0c fix: Use singlestoredb dialect for sqlglot (#36096)
     add 467b008f36 fix: save button was enabled even no changes were made to the dashboard (#35817)
     add 4a04d46118 fix(explore): re-apply filters when 'Group remaining as Others' is enabled (#35937)
     add 74a590cb76 fix(dashboard): refresh tabs as they load when dashboard is refreshed (#35265)
     add 78f9debdd4 fix(dashboard): prevent tab content cutoff and excessive whitespace in empty tabs (#35834)
     add 37d58a476c fix(chart): align legend with chart grid in List mode for Top/Bottom orientations (#36077)
     add b051f779e6 chore: bump FAB to 5.0.2 (#36086)
     add f8933c2743 style(database-modal): vertically align the button and the InfoTooltip icon (#36087)
     add 9ef87e75d5 fix(ace-editor-popover): main AntD popover closes when clicking autocomplete suggestions in Ace Editor (#35986)
     add f3e620cd0f fix: RLS in virtual datasets (#36061)
     add 001b6cb801 feat: Floating Point Formatting for Scatter Point Chart (#35915)
     add e6a5616543 fix: opacity color formating (#36101)
     add c955a5dc08 fix(histogram): add NULL handling for histogram (#35693)
     add c2baba50f9 chore: abstract models and daos into superset-core (#35259)
     add 9605a4a9cb fix(mcp-service): ensure Flask app context in auth hook and resolve Pydantic warnings (#36013)
     add 85413f2a65 fix: fix crossfilter persisting after removal (#35998)
     add dad469297c feat(mcp): add configurable branding for MCP service (#36033)
     add 962faa2196 fix: Use total count to filter datasets (#36135)
     add fb8eb2a5c3 fix(dashboard): ensure world map chart uses correct country code format in crossfilter (#35919)
     add 519990e2fb fix: pin setuptools <81 to prevent pkg_resources removal (#36104)
     add 6723a58780 perf: Fix dashboard performance issues (#36119)
     add 9bff64824b fix(navbar): some styling + components inconsistencies (#36120)
     add 282f4e5de2 feat(embedded): add setThemeMode API for dynamic theme switching (#36125)
     add fb7d0e0e3d chore: annotate important types (#36034)
     add 9d06a5888f fix(csv-upload): log detailed errors during chunk concatenation for debugging (#36108)
     add 3b226038ba fix(datasets): prevent double time filter application in virtual datasets (#35890)
     add 6fc7af5ba8 build: update Dockerfile to 3.11.14-slim-trixie (#36047)
     add 28bdec2c79 fix(tags): ensure tag creation is compatible with MySQL by avoiding Markup objects (#36075)
     add f8943c17c2 chore(deps): bump js-yaml in /superset-websocket (#36142)
     add fb325a8f24 fix(translations): Fix Russian translations for EmptyState (#34055)
     add cc1d22012c chore(deps): bump antd from 5.28.0 to 5.28.1 in /docs (#36065)
     add 225886e859 chore(deps-dev): bump @typescript-eslint/parser from 8.46.2 to 8.46.4 in /docs (#36064)
     add d91d81b5df chore(deps-dev): bump typescript-eslint from 8.46.2 to 8.46.4 in /docs (#36066)
     add b5cac47ba7 chore(deps-dev): bump @eslint/js from 9.39.0 to 9.39.1 in /docs (#35975)
     add a9fd600c52 fix: 'save and go to dashboard' option was disabled after changing the chart type (#36122)
     add 8315804c85 fix(cache): apply dashboard filters to non-legacy visualizations  (#36109)
     add 80ec241108 feat(dashboard): "embed code" option on dashboard share tab (#33163)
     add 43e9e1ec36 fix:  role list edit modal height (#36123)
     add a268232ed6 fix(datasets): prevent viewport overflow in dataset creation page (#36166)
     add 53b9045943 chore(DatabaseModal): simplify collapsible logic for extra extension section (#36118)
     add 21f85a4145 feat(tree chart): add initial tree depth to tree chart (#35425)
     add 4582f0e8d2 fix(dashboard): ensure charts re-render when visibility state changes (#36011)
     add 66afdfd119 docs(mcp): add comprehensive architecture, security, and production deployment documentation (#36017)
     add d0bf1cca60 chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 in /superset-embedded-sdk (#36172)
     add cdbd5bf4f9 chore(docs): config Kapa to use logo from the repo (#36177)
     add 69fc7f6852 chore(deps-dev): bump webpack from 5.102.1 to 5.103.0 in /docs (#36178)
     add 9f55287672 chore(deps): bump caniuse-lite from 1.0.30001754 to 1.0.30001756 in /docs (#36179)
     add f5b79c3623 chore(deps-dev): bump eslint from 9.39.0 to 9.39.1 in /docs (#35976)
     add 05d10d8e77 chore(deps-dev): bump @typescript-eslint/parser from 8.46.2 to 8.46.3 in /superset-websocket (#35973)
     add 53207302f9 chore: bump duckdb et al. (#36171)
     add 6d359161bb fix(dashboard): adjust vertical spacing for numerical range filter to prevent overlaps (#36167)
     add 35f156a1e1 feat(streaming): Streaming CSV uploads for over 100k records for constant memory usage (#35478)
     add 92d8139136 fix(security): enable AUTH_RATE_LIMITED to work correctly (#36195)
     add e68150c3ce chore(deps-dev): bump @types/node from 24.10.0 to 24.10.1 in /superset-websocket (#36198)
     add be0283b9f2 chore(deps): bump antd from 5.28.1 to 5.29.1 in /docs (#36180)
     add 7805666103 perf(docker): exclude unnecessary directories from Flask reloader watch (#36143)
     add 71c015c579 feat(Tabs): Rearange tabs when editing dashboard (#35156)
     add 979d385eea fix: recompile dependencies with linux and update generate dependency script (#36194)
     add 348b19cb4c fix(sqllab): validate results backend writes and enhance 410 diagnostics (#36222)
     add 02bbc7c7de chore(deps-dev): bump eslint from 9.39.0 to 9.39.1 in /superset-websocket (#36217)
     add e6b258f418 chore(deps): bump http-errors from 2.0.0 to 2.0.1 in /superset-websocket/utils/client-ws-app (#36218)
     add 9d40c24a16 refactor(datasets): add comprehensive unit tests for dataset API hooks and fix api guards (#36175)
     add e7c54376e2 test(table): remove conditionals from TableChart tests  (#36149)
     add a0c29cc260 test: fix flaky MySQL integration test in test_update_v1_response (#36176)
     add e303537e0c fix: adhoc column quoting (#36215)
     add a2267d869b refactor: refactor `get_query_result` (#36057)
     add 08c1d03479 fix(screenshots): Only cache thumbnails when image generation succeeds (#36126)
     add cac6ffcd3c fix: Extra controls width for Area Chart on dashboards (#36133)
     add a6b6eb4ab3 chore(deps-dev): bump @types/lodash from 4.17.20 to 4.17.21 in /superset-websocket (#36231)
     add bf2cef7d87 chore(sqllab): add logging for switching south panel tabs (#36168)
     add ab8352ee66 fix: Table chart types headers are offset from the columns in the table (#36190)
     add 186693b840 feat(ag-grid): add SQLGlot-based SQL escaping for where and having filter clauses (#36136)
     add 062e4a2922 fix: Columns bleeding into other cells (#36134)
     add c966dd4f9e feat(dashboards): Add config to filter implicit tags in list API (#36246)
     add cd36845d56 fix: remove unwanted info from tags REST API (#36266)
     add 8d5d71199a feat(mcp): Add flexible input parsing to handle double-serialized requests (#36249)
     add 0c87034b17 fix: cache key generation (#36225)
     add bae716fa83 fix(log): remove unwanted info from logs REST API (#36269)
     add a4860075d2 feat: add mcp abstractions to core (#36151)
     add aca18fff99 fix: double computation of `contribution_totals` (#36226)
     add cf88551a56 fix(mcp): Allow MCP tools to accept string or object request formats (#36271)
     add 06a8f4df02 feat(datasets): add datetime format detection to dataset columns (#36150)
     add fb2a8ac9a2 docs: clarify duplicate report deliveries for alerts & reports (#36264)
     add ab36bd3965 build: Add pytest-asyncio to enable async MCP service tests (#36251)
     add f98939103b fix(mcp-service): improve MCP tool parameter clarity and validation (#36137)
     add 18ab5382b1 feat(mcp): implement selective column serialization for list tools (#36035)
     add fe21485065 docs: Reorganizes the extensions documentation (#36298)
     add 2af5a5adb0 fix(mcp): access wrapped function in dataset tool tests (#36295)
     add 1bf1890084 chore(deps-dev): bump typescript-eslint from 8.46.2 to 8.48.0 in /superset-websocket (#36252)
     add df0211fe29 chore(deps-dev): bump typescript-eslint from 8.47.0 to 8.48.0 in /docs (#36254)
     add 2db0107d12 chore(deps): bump caniuse-lite from 1.0.30001756 to 1.0.30001757 in /docs (#36256)
     add 170d1b92eb chore(deps): bump cookie from 1.0.2 to 1.1.0 in /superset-websocket (#36283)
     add 81e561bdc9 chore(deps): bump swagger-ui-react from 5.30.2 to 5.30.3 in /docs (#36284)
     add 341ae994c5 feat(embed): get charts payload (#36237)
     add a0e63faf62 fix: add a fallback to chart state callback (#36327)
     add de7f41a888 fix(deckgl): polygon elevation fixed value (#35266)
     add c9a7a85159 feat(chart): add axes settings for trendline (#36002)
     add d5c5dbb3bf refactor(word-cloud): convert rotation and color controls to React components (POC) (#36275)
     add 01f032017f feat(controlPanel): add integer validation for rows per page setting (#36289)
     add a745fd49fa fix(deckgl): use DatasourceType enum in polygon transformProps test + some TS issues (#36336)
     add a754258fad fix(timeshift): Add a more reliable strategy for correct temporal col (#36309)
     add 9fc7a83320 fix: Do no aggregate results for CSV downloads from AG Grid raw records table (#36247)
     add 775d1ba061 fix: normalize totals cache keys for async hits (#36274)
     add fd7ce4976a docs: Improve the Quick Start to make it more AI-friendly (#36307)
     add de69377b04 chore(deps): bump node-forge from 1.3.1 to 1.3.2 in /docs (#36300)
     add 2b6b4e363b chore(deps): bump cookie from 1.1.0 to 1.1.1 in /superset-websocket (#36303)
     add 4935938bb1 chore(deps-dev): bump prettier from 3.6.2 to 3.7.3 in /docs (#36353)
     add d4206de8e0 docs: fix formatting of BaseCache import statement in docs (#36278)
     add 92986c2ecc chore(deps): bump node-forge from 1.3.1 to 1.3.2 in /superset-frontend (#36299)
     add b12f5f8394 fix: CI failures caused by a ruff version mismatch (#36358)
     add db995ad5bf chore: Adds non-interactive mode to `superset-extensions init` command (#36308)
     add 6e0960c3f5 feat: show search filtered total (#36083)
     add 51798edb23 feat(alert-report-modal): Use extensions registry for DateFilterControl in AlertReportModal (#36376)
     add 5e3ff0787b docs(extensions): Add community extensions registry page (#36312)
     add 005e4e3ea8 chore: Implement additional SQL Lab core APIs (#36331)
     add e4cb84bc02 feat: DB2 dialect for sqlglot (#36365)
     add 7748b60ff5 chore(docs): Fix typo in FEATURE_FLAGS.md (#36364)
     add d05ab91d11 fix: `is_column_reference` check (#36382)
     add 2c6bed27aa refactor(mcp): use dynamic APP_NAME instead of hardcoded Superset branding (#36371)
     add bf5de3cb50 fix(DatasourceControl): eliminate test flakiness and async race conditions (#35993)
     add 9c963b50e6 chore(deps): bump express from 4.21.2 to 4.22.0 in /docs (#36362)
     add 17027ff5ca chore(deps): bump express from 5.1.0 to 5.2.0 in /superset-websocket/utils/client-ws-app (#36366)
     add 9800fb7702 chore(deps): bump hot-shots from 11.2.0 to 11.3.0 in /superset-websocket (#36352)
     add a8111de3ef chore(deps-dev): bump ts-jest from 29.4.5 to 29.4.6 in /superset-websocket (#36372)
     add f955f0d133 chore(deps): bump express from 5.1.0 to 5.2.1 in /superset-websocket/utils/client-ws-app (#36373)
     add b40467c7e2 fix(SaveModal): reset chart state when saving and going to a dashboard (#36402)
     add 62d86aba14 fix(SQLLab): most recent queries at the top in Query History without refreshing the page (#36359)
     add 5c91ab91fb feat(mcp): add tool tags for Tool Search optimization (#36405)
     add 70aec7fa76 chore(deps): bump express from 4.21.2 to 4.22.0 in /superset-frontend (#36361)
     add c458f99dd4 chore: cleanup ssh tunnel (#34388)
     add dc98a3b397 chore(deps): bump caniuse-lite from 1.0.30001757 to 1.0.30001759 in /docs (#36397)
     add 7f85d92b85 chore(deps-dev): bump typescript-eslint from 8.48.0 to 8.48.1 in /docs (#36399)
     add 22c061c06c chore(deps-dev): bump typescript-eslint from 8.48.0 to 8.48.1 in /superset-websocket (#36395)
     add 3eec441abe chore(deps-dev): bump prettier from 3.6.2 to 3.7.4 in /superset-websocket (#36391)
     add d121cfdbda feat(prune_logs): add optional max_rows_per_run param (#36313)
     add 4a249a0745 fix(dashboards): Use same decorators as FAB (#36423)
     add 1d8d30e5bb fix(echarts): pass vizType to enable theme overrides in all chart types (#36389)
     add 3345eb32c5 fix(heatmap): y-axis sorts in order (#36302)
     add e5da6d3183 chore(deps-dev): bump prettier from 3.7.3 to 3.7.4 in /docs (#36394)
     add eabb5bdf7d feat(dashboard): implement boolean conditional formatting (#36338)
     add c36ac53445 fix(reports): simplify logging to focus on timing metrics (#36227)
     add 16e6452b8c feat:  Explorable protocol (#36245)
     add 482c674a0f chore: improve types (#36367)
     add b6f1b4db2f chore(deps): bump jws from 3.2.2 to 3.2.3 in /superset-websocket (#36428)
     add 964c16f1a4 chore(deps): bump jws from 4.0.0 to 4.0.1 in /superset-frontend (#36427)
     add 2f14c6cd69 chore(deps): bump jws from 3.2.2 to 3.2.3 in /superset-websocket/utils/client-ws-app (#36426)
     add 23b61b080e chore(deps): bump actions/checkout from 5 to 6 (#36219)
     add e1a8886d32 chore(deps): Remove unused direct dependency geostyler-qgis-parser (#36413)
     add 4479614754 feat(table): Gradient Toggle (#36280)
     add 45a42396ab chore(deps-dev): update jest requirement from ^30.0.5 to ^30.2.0 in /superset-frontend/packages/generator-superset (#35389)
     add 0b83b3c944 chore(deps): bump actions/setup-node from 5 to 6

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   (c74fb1f7b5)
            \
             N -- N -- N   refs/heads/dependabot/github_actions/actions/setup-node-6 (0b83b3c944)

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

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

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |    1 +
 .github/workflows/bump-python-package.yml          |    2 +-
 .github/workflows/cancel_duplicates.yml            |    2 +-
 .github/workflows/check-python-deps.yml            |    2 +-
 .github/workflows/check_db_migration_confict.yml   |    2 +-
 .github/workflows/claude.yml                       |    2 +-
 .github/workflows/codeql-analysis.yml              |    2 +-
 .github/workflows/dependency-review.yml            |    4 +-
 .github/workflows/docker.yml                       |    4 +-
 .github/workflows/embedded-sdk-release.yml         |    2 +-
 .github/workflows/embedded-sdk-test.yml            |    2 +-
 .github/workflows/ephemeral-env.yml                |    4 +-
 .github/workflows/generate-FOSSA-report.yml        |    2 +-
 .github/workflows/github-action-validator.yml      |    2 +-
 .github/workflows/issue_creation.yml               |    2 +-
 .github/workflows/latest-release-tag.yml           |    2 +-
 .github/workflows/license-check.yml                |    2 +-
 .github/workflows/pr-lint.yml                      |    2 +-
 .github/workflows/pre-commit.yml                   |    6 +-
 .github/workflows/prefer-typescript.yml            |    2 +-
 .github/workflows/release.yml                      |    2 +-
 .github/workflows/showtime-trigger.yml             |    2 +-
 .github/workflows/superset-app-cli.yml             |    2 +-
 .github/workflows/superset-applitool-cypress.yml   |    2 +-
 .../workflows/superset-applitools-storybook.yml    |    2 +-
 .github/workflows/superset-docs-deploy.yml         |    2 +-
 .github/workflows/superset-docs-verify.yml         |    4 +-
 .github/workflows/superset-e2e.yml                 |   12 +-
 .github/workflows/superset-extensions-cli.yml      |    2 +-
 .github/workflows/superset-frontend.yml            |    2 +-
 .github/workflows/superset-helm-lint.yml           |    2 +-
 .github/workflows/superset-helm-release.yml        |    2 +-
 .github/workflows/superset-playwright.yml          |    6 +-
 .../workflows/superset-python-integrationtest.yml  |    6 +-
 .github/workflows/superset-python-presto-hive.yml  |    4 +-
 .github/workflows/superset-python-unittest.yml     |    2 +-
 .github/workflows/superset-translations.yml        |    4 +-
 .github/workflows/superset-websocket.yml           |    2 +-
 .github/workflows/supersetbot.yml                  |    2 +-
 .github/workflows/tag-release.yml                  |    4 +-
 .github/workflows/tech-debt.yml                    |    2 +-
 .gitignore                                         |    2 +
 .pre-commit-config.yaml                            |   13 +-
 .pylintrc                                          |    2 +-
 Dockerfile                                         |    2 +-
 RESOURCES/FEATURE_FLAGS.md                         |    2 +-
 UPDATING.md                                        |  101 ++
 docker/docker-bootstrap.sh                         |    2 +-
 .../pythonpath_dev/superset_config_docker_light.py |    1 +
 docs/developer_portal/extensions/architecture.md   |    4 +-
 .../extensions/contribution-types.md               |  130 ++
 .../{deploying-extension.md => deployment.md}      |   24 +-
 .../extensions/development-mode.md                 |   48 -
 docs/developer_portal/extensions/development.md    |  239 ++++
 .../extensions/extension-metadata.md               |   55 -
 .../extensions/extension-points/sqllab.md          |  209 +++
 .../extensions/extension-project-structure.md      |   78 --
 .../extensions/frontend-contribution-types.md      |   90 --
 .../extensions/interacting-with-host.md            |  120 --
 docs/developer_portal/extensions/mcp.md            |  459 +++++++
 docs/developer_portal/extensions/overview.md       |   61 +-
 docs/developer_portal/extensions/quick-start.md    |  131 +-
 docs/developer_portal/extensions/registry.md       |   47 +
 .../{security-implications.md => security.md}      |   12 +-
 docs/developer_portal/sidebars.js                  |   21 +-
 docs/docs/configuration/alerts-reports.mdx         |    8 +
 docs/docs/configuration/async-queries-celery.mdx   |   10 +-
 docs/docs/contributing/pkg-resources-migration.md  |  101 ++
 docs/docusaurus.config.ts                          |    2 +-
 docs/package.json                                  |   18 +-
 docs/sidebarTutorials.js                           |   21 +-
 docs/static/img/extensions/api_explorer.png        |  Bin 0 -> 326091 bytes
 docs/static/img/superset-logo-icon-only.png        |  Bin 0 -> 118635 bytes
 docs/yarn.lock                                     |  449 ++++---
 pyproject.toml                                     |    7 +-
 pytest.ini                                         |    1 +
 requirements/base.in                               |    6 +
 requirements/base.txt                              |   15 +-
 requirements/development.txt                       |   29 +-
 scripts/uv-pip-compile.sh                          |   17 +
 superset-core/README.md                            |    2 +-
 superset-core/pyproject.toml                       |    7 +-
 superset-core/src/superset_core/__init__.py        |    4 +
 superset-core/src/superset_core/api/__init__.py    |    8 -
 superset-core/src/superset_core/api/daos.py        |  262 ++++
 superset-core/src/superset_core/api/models.py      |  295 +++++
 superset-core/src/superset_core/api/query.py       |   51 +
 superset-core/src/superset_core/api/rest_api.py    |   72 ++
 .../src/superset_core/api/types/models.py          |   90 --
 superset-core/src/superset_core/api/types/query.py |   41 -
 .../src/superset_core/api/types/rest_api.py        |   64 -
 superset-core/src/superset_core/mcp/__init__.py    |  161 +++
 superset-embedded-sdk/package-lock.json            |   16 +-
 superset-embedded-sdk/package.json                 |    2 +-
 superset-embedded-sdk/src/index.ts                 |   22 +-
 .../src/superset_extensions_cli/cli.py             |   54 +-
 superset-extensions-cli/tests/test_cli_init.py     |  136 ++
 superset-frontend/package-lock.json                |  779 +++++++-----
 superset-frontend/package.json                     |    4 +-
 .../packages/generator-superset/package.json       |    2 +-
 .../src/shared-controls/sharedControls.tsx         |   26 +
 .../superset-ui-chart-controls/src/types.ts        |    9 +-
 .../src/utils/getColorFormatters.ts                |   67 +-
 .../test/utils/getColorFormatters.test.ts          | 1184 ++++++++++-------
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |  252 ++++
 .../src/components/AsyncAceEditor/index.tsx        |   81 +-
 .../src/components/EditableTitle/index.tsx         |    4 +-
 .../src/components/EditableTitle/types.ts          |    1 +
 .../src/components/Loading/index.tsx               |    4 +-
 .../src/components/{Flex => Progress}/index.tsx    |   11 +-
 .../src/components/TableCollection/index.tsx       |   13 +
 .../src/components/Tabs/Tabs.test.tsx              |  107 +-
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |   10 +
 .../superset-ui-core/src/components/index.ts       |    2 +
 .../src/query/normalizeTimeColumn.ts               |    1 +
 .../superset-ui-core/src/query/types/Column.ts     |    5 +
 .../superset-ui-core/src/query/types/Query.ts      |    3 +
 .../test/query/normalizeTimeColumn.test.ts         |    1 +
 .../legacy-plugin-chart-world-map/src/WorldMap.js  |    5 +-
 .../src/layers/Polygon/buildQuery.test.ts          |  456 +++++++
 .../src/layers/Polygon/buildQuery.ts               |   28 +-
 .../src/layers/Polygon/transformProps.test.ts      |  260 ++++
 .../src/layers/Polygon/transformProps.ts           |   34 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   10 +-
 .../src/controlPanel.tsx                           |    5 +-
 .../src/stateConversion.ts                         |   18 +-
 .../test/buildQuery.test.ts                        |   24 +
 .../src/BigNumber/BigNumberViz.tsx                 |    1 +
 .../BigNumberWithTrendline/controlPanel.tsx        |   59 +
 .../BigNumberWithTrendline/transformProps.test.ts  |   13 +
 .../BigNumberWithTrendline/transformProps.ts       |   91 +-
 .../plugin-chart-echarts/src/BigNumber/types.ts    |    4 +
 .../src/BoxPlot/EchartsBoxPlot.tsx                 |    4 +-
 .../src/Gantt/EchartsGantt.tsx                     |    1 +
 .../src/Graph/EchartsGraph.tsx                     |    1 +
 .../plugin-chart-echarts/src/Heatmap/Heatmap.tsx   |    3 +-
 .../src/Heatmap/transformProps.ts                  |  161 ++-
 .../src/Histogram/Histogram.tsx                    |    2 +
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |    1 +
 .../plugin-chart-echarts/src/Sankey/Sankey.tsx     |    3 +-
 .../src/Sunburst/EchartsSunburst.tsx               |    1 +
 .../src/Timeseries/EchartsTimeseries.test.tsx      |  311 +++++
 .../src/Timeseries/EchartsTimeseries.tsx           |   28 +-
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |   47 +
 .../src/Timeseries/constants.ts                    |    1 +
 .../src/Timeseries/transformProps.ts               |    5 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |    1 +
 .../plugin-chart-echarts/src/Tree/EchartsTree.tsx  |    8 +-
 .../plugin-chart-echarts/src/Tree/constants.ts     |    1 +
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |   17 +
 .../src/Tree/transformProps.ts                     |    2 +
 .../plugins/plugin-chart-echarts/src/Tree/types.ts |    1 +
 .../src/Treemap/EchartsTreemap.tsx                 |    1 +
 .../src/Waterfall/EchartsWaterfall.tsx             |    4 +-
 .../plugins/plugin-chart-echarts/src/controls.tsx  |    2 +-
 .../plugin-chart-echarts/src/utils/series.ts       |    9 +
 .../test/BigNumber/transformProps.test.ts          |  122 ++
 .../test/Heatmap/transformProps.test.ts            |  294 +++++
 .../test/Timeseries/Scatter/controlPanel.test.ts   |  156 +++
 .../test/Timeseries/Scatter/transformProps.test.ts |  183 +++
 .../test/Timeseries/buildQuery.test.ts             |   59 +-
 .../src/react-pivottable/Styles.js                 |    7 +
 .../plugin-chart-table/src/DataTable/DataTable.tsx |   28 +
 .../src/DataTable/hooks/useSticky.tsx              |   14 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   81 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |   35 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    8 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |  605 ++++++++-
 .../plugin-chart-table/test/buildQuery.test.ts     |   44 +
 .../plugins/plugin-chart-table/test/testData.ts    |   26 +
 .../plugin/{controlPanel.ts => controlPanel.tsx}   |   24 +-
 .../src/plugin/controls/ColorSchemeControl.tsx     |   62 +
 .../ColorSchemeControl/ColorSchemeLabel.tsx        |    2 +-
 .../plugin}/controls/ColorSchemeControl/index.tsx  |   11 +-
 .../src/plugin/controls/RotationControl.tsx        |   76 ++
 .../src/plugin/controls}/index.ts                  |    3 +-
 .../test/ColorSchemeControl.test.tsx               |   83 ++
 .../test/RotationControl.test.tsx                  |   59 +
 .../test/controlPanel.test.ts                      |   47 +
 .../plugin-chart-word-cloud/test/tsconfig.json     |    3 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |   10 +-
 .../components/AceEditorWrapper/useKeywords.ts     |    1 +
 .../components/QueryHistory/QueryHistory.test.tsx  |  109 ++
 .../src/SqlLab/components/QueryHistory/index.tsx   |    6 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |  162 ++-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |   42 +
 .../SqlLab/components/SaveDatasetModal/index.tsx   |   14 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |    4 +
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |    6 +-
 .../src/SqlLab/reducers/sqlLab.test.js             |   87 ++
 .../src/components/Chart/chartAction.js            |   12 +-
 .../src/components/Chart/chartActions.test.js      |   64 +
 .../Datasource/DatasourceModal/index.tsx           |    1 +
 .../DatasourceEditor/DatasourceEditor.jsx          |    4 +
 .../StreamingExportModal.test.tsx                  |  244 ++++
 .../StreamingExportModal/StreamingExportModal.tsx  |  380 ++++++
 .../components/StreamingExportModal}/index.ts      |    6 +-
 .../useStreamingExport.test.ts                     |  126 ++
 .../StreamingExportModal/useStreamingExport.ts     |  380 ++++++
 superset-frontend/src/constants.ts                 |   12 +
 superset-frontend/src/core/sqlLab/index.ts         |  129 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |  215 +++-
 .../DashboardBuilder/DashboardBuilder.tsx          |   52 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |  389 ++++++
 .../DashboardBuilder/DashboardContainer.tsx        |   12 +-
 .../src/dashboard/components/DashboardGrid.jsx     |    3 +
 .../dashboard/components/DashboardGrid.test.jsx    |   80 +-
 .../dashboard/components/GroupByBadge/index.tsx    |   50 +-
 .../dashboard/components/Header/Header.test.tsx    |  131 ++
 .../src/dashboard/components/Header/index.jsx      |   18 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |  111 ++
 .../dashboard/components/PropertiesModal/index.tsx |   30 +-
 .../SliceHeaderControls.test.tsx                   |   37 +
 .../components/SliceHeaderControls/index.tsx       |    2 +
 .../components/gridComponents/Chart/Chart.jsx      |  204 ++-
 .../components/gridComponents/Chart/Chart.test.jsx |  154 +++
 .../components/gridComponents/Tab/Tab.jsx          |   51 +-
 .../components/gridComponents/Tab/Tab.test.tsx     |   97 +-
 .../components/gridComponents/Tabs/Tabs.jsx        |   70 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |  199 ++-
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |  115 ++
 .../components/menu/ShareMenuItems/index.tsx       |   80 +-
 .../nativeFilters/ChartCustomization/selectors.ts  |   42 +-
 .../FilterBar/ActionButtons/index.tsx              |    1 -
 .../FilterBar/FilterControls/FilterControl.tsx     |    8 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |    6 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |   16 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |    2 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |    2 +-
 .../FilterCard/useFilterDependencies.ts            |   33 +-
 .../FiltersConfigForm/DatasetSelect.test.tsx       |   66 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |  109 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    2 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |   57 +-
 .../components/nativeFilters/state.test.ts         |  294 ++++-
 .../dashboard/components/nativeFilters/state.ts    |   27 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |    2 +-
 .../src/dashboard/reducers/dashboardState.js       |   20 +-
 .../src/dashboard/reducers/nativeFilters.test.ts   |  162 +++
 .../src/dashboard/reducers/nativeFilters.ts        |   11 +-
 superset-frontend/src/dashboard/types.ts           |    1 +
 .../util/charts/getFormDataWithExtraFilters.ts     |   15 +-
 .../charts/{useChartIds.ts => useAllChartIds.ts}   |   10 +-
 ...dsFromLayout.ts => getChartIdsFromComponent.ts} |   35 +-
 superset-frontend/src/embedded/api.tsx             |   16 +-
 superset-frontend/src/embedded/index.tsx           |   39 +-
 superset-frontend/src/embedded/utils.test.ts       |  228 +++-
 superset-frontend/src/embedded/utils.ts            |  133 +-
 .../explore/components/ControlPanelsContainer.tsx  |   30 +-
 .../components/ExploreChartHeader/index.jsx        |   11 +-
 .../src/explore/components/SaveModal.test.jsx      |   84 ++
 .../src/explore/components/SaveModal.tsx           |    2 +
 .../FormattingPopoverContent.test.tsx              |   71 ++
 .../FormattingPopoverContent.tsx                   |   79 +-
 .../controls/ConditionalFormattingControl/types.ts |    1 +
 .../DatasourceControl/DatasourceControl.test.tsx   |  183 +--
 .../components/controls/ViewQueryModal.test.tsx    |  108 ++
 .../explore/components/controls/ViewQueryModal.tsx |   35 +-
 .../useExploreAdditionalActionsMenu/index.jsx      |  116 +-
 .../src/explore/controlUtils/getControlState.ts    |   10 +-
 .../controlUtils/standardizedFormData.test.ts      |   86 +-
 .../explore/controlUtils/standardizedFormData.ts   |    6 +
 .../src/explore/exploreUtils/index.js              |   14 +-
 .../src/features/alerts/AlertReportModal.tsx       |    8 +-
 .../databases/DatabaseModal/ExtraOptions.test.tsx  |   17 +
 .../databases/DatabaseModal/ExtraOptions.tsx       |    6 +-
 .../databases/DatabaseModal/SqlAlchemyForm.tsx     |    4 +-
 .../src/features/databases/DatabaseModal/styles.ts |    4 +-
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |    2 +-
 .../datasets/DatasetLayout/DatasetLayout.test.tsx  |   69 +
 .../datasets/hooks/useDatasetLists.test.ts         |  392 ++++++
 .../src/features/datasets/hooks/useDatasetLists.ts |    3 +-
 superset-frontend/src/features/datasets/styles.ts  |    3 +-
 superset-frontend/src/features/home/EmptyState.tsx |   24 +-
 superset-frontend/src/features/home/Menu.tsx       |  148 +--
 superset-frontend/src/features/home/RightMenu.tsx  |    9 +
 .../src/features/home/commonMenuData.ts            |    5 +
 .../src/features/roles/RoleListEditModal.tsx       |    1 -
 .../src/hooks/apiResources/datasets.test.ts        |  449 +++++++
 superset-frontend/src/hooks/useThemeMenuItems.tsx  |    2 +
 superset-frontend/src/logger/LogUtils.ts           |    2 +
 .../src/utils/cachedSupersetGet.test.ts            |  190 +++
 superset-frontend/src/utils/cachedSupersetGet.ts   |   56 +
 .../src/utils/getControlsForVizType.ts             |   12 +
 superset-frontend/src/utils/urlUtils.test.ts       |   52 +-
 superset-frontend/webpack.proxy-config.js          |   21 +-
 superset-websocket/package-lock.json               |  741 +++++------
 superset-websocket/package.json                    |   18 +-
 .../utils/client-ws-app/package-lock.json          |  204 ++-
 .../utils/client-ws-app/package.json               |    4 +-
 superset/charts/data/api.py                        |  176 ++-
 superset/charts/schemas.py                         |    9 +-
 superset/commands/chart/data/get_data_command.py   |    8 +-
 .../chart/data/streaming_export_command.py         |   80 ++
 superset/commands/chart/warm_up_cache.py           |  107 +-
 superset/commands/database/create.py               |   42 +-
 superset/commands/database/export.py               |    2 +-
 superset/commands/database/importers/v1/utils.py   |   13 +-
 superset/commands/database/ssh_tunnel/create.py    |  100 --
 superset/commands/database/ssh_tunnel/delete.py    |   52 -
 superset/commands/database/ssh_tunnel/update.py    |   82 --
 superset/commands/database/sync_permissions.py     |   25 +-
 superset/commands/database/test_connection.py      |   85 +-
 superset/commands/database/update.py               |   38 +-
 superset/commands/database/uploaders/csv_reader.py |   12 +-
 superset/commands/database/utils.py                |   14 +-
 superset/commands/dataset/export.py                |   10 +-
 superset/commands/dataset/refresh.py               |   18 +
 superset/commands/explore/get.py                   |    6 +-
 superset/commands/logs/prune.py                    |   32 +-
 superset/commands/report/execute.py                |   96 +-
 superset/commands/security/create.py               |    2 +-
 superset/commands/security/update.py               |    2 +-
 superset/commands/sql_lab/results.py               |   57 +-
 .../commands/sql_lab/streaming_export_command.py   |  142 +++
 .../commands/streaming_export}/__init__.py         |    0
 superset/commands/streaming_export/base.py         |  214 ++++
 superset/common/query_actions.py                   |   35 +-
 superset/common/query_context.py                   |   37 +-
 superset/common/query_context_factory.py           |   12 +-
 superset/common/query_context_processor.py         |  834 +-----------
 superset/common/query_object.py                    |   44 +-
 superset/common/utils/query_cache_manager.py       |    2 +
 superset/config.py                                 |   20 +-
 superset/connectors/sqla/models.py                 |  295 +++--
 superset/core/api/core_api_injection.py            |  180 +++
 superset/core/api/types/models.py                  |   72 --
 superset/core/api/types/query.py                   |   29 -
 superset/core/api/types/rest_api.py                |   35 -
 superset/core/mcp/core_mcp_injection.py            |  225 ++++
 superset/daos/base.py                              |   25 +-
 superset/daos/database.py                          |  123 +-
 superset/dashboards/api.py                         |  167 ++-
 superset/dashboards/schemas.py                     |    7 +
 superset/databases/api.py                          |   84 +-
 superset/databases/schemas.py                      |   18 +
 superset/databases/ssh_tunnel/models.py            |   14 +-
 superset/datasets/api.py                           |   82 ++
 superset/datasets/datetime_format_detector.py      |  211 ++++
 superset/datasets/schemas.py                       |    3 +
 superset/explorables/base.py                       |  373 ++++++
 superset/extensions/ssh.py                         |    6 +-
 superset/initialization/__init__.py                |   38 +-
 superset/jinja_context.py                          |    5 +-
 superset/key_value/models.py                       |    4 +-
 superset/mcp_service/ARCHITECTURE.md               |  693 ++++++++++
 superset/mcp_service/CLAUDE.md                     |  198 ++-
 superset/mcp_service/PRODUCTION.md                 | 1332 ++++++++++++++++++++
 superset/mcp_service/SECURITY.md                   |  803 ++++++++++++
 superset/mcp_service/app.py                        |   81 +-
 superset/mcp_service/auth.py                       |  161 ++-
 .../chart/prompts/create_chart_guided.py           |    6 +-
 .../mcp_service/chart/resources/chart_configs.py   |    2 +-
 superset/mcp_service/chart/schemas.py              |   66 +-
 superset/mcp_service/chart/tool/generate_chart.py  |   49 +-
 .../chart/tool/get_chart_available_filters.py      |    8 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    6 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |   26 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |    8 +-
 superset/mcp_service/chart/tool/list_charts.py     |   32 +-
 superset/mcp_service/chart/tool/update_chart.py    |   37 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    8 +-
 superset/mcp_service/common/error_schemas.py       |    9 +-
 superset/mcp_service/dashboard/schemas.py          |   61 +-
 .../tool/add_chart_to_existing_dashboard.py        |    8 +-
 .../dashboard/tool/generate_dashboard.py           |    8 +-
 .../tool/get_dashboard_available_filters.py        |    8 +-
 .../dashboard/tool/get_dashboard_info.py           |    8 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |   41 +-
 superset/mcp_service/dataset/schemas.py            |   34 +-
 .../dataset/tool/get_dataset_available_filters.py  |    8 +-
 .../mcp_service/dataset/tool/get_dataset_info.py   |   27 +-
 superset/mcp_service/dataset/tool/list_datasets.py |   35 +-
 .../mcp_service/docs/tool-search-optimization.md   |  139 ++
 .../explore/tool/generate_explore_link.py          |   25 +-
 superset/mcp_service/flask_singleton.py            |   15 +-
 superset/mcp_service/mcp_config.py                 |    9 +-
 superset/mcp_service/mcp_core.py                   |   20 +-
 superset/mcp_service/middleware.py                 |    4 +-
 superset/mcp_service/run_proxy.sh                  |    0
 superset/mcp_service/server.py                     |   21 +-
 superset/mcp_service/simple_proxy.py               |    4 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    8 +-
 .../sql_lab/tool/open_sql_lab_with_context.py      |    8 +-
 .../mcp_service/{explore => system}/__init__.py    |    2 +-
 superset/mcp_service/system/prompts/quickstart.py  |   39 +-
 .../system/resources/instance_metadata.py          |    8 +-
 superset/mcp_service/system/schemas.py             |    1 -
 .../{tool/get_instance_info.py => system_utils.py} |   80 +-
 .../mcp_service/system/tool/get_instance_info.py   |  188 +--
 superset/mcp_service/system/tool/health_check.py   |   51 +-
 superset/mcp_service/utils/schema_utils.py         |  455 +++++++
 superset/migrations/shared/utils.py                |    4 +-
 ...8ocx6rto6_expand_username_field_to_128_chars.py |   97 ++
 ...ec10479_add_datetime_format_to_table_columns.py |   68 +
 superset/models/core.py                            |   43 +-
 superset/models/dashboard.py                       |   13 +-
 superset/models/helpers.py                         |  993 ++++++++++++++-
 superset/models/slice.py                           |    5 +-
 superset/models/sql_lab.py                         |   38 +-
 superset/security/manager.py                       |  149 ++-
 superset/sql/dialects/__init__.py                  |    3 +-
 superset/sql/dialects/db2.py                       |  148 +++
 superset/sql/parse.py                              |   59 +-
 superset/sql_lab.py                                |   46 +-
 superset/sqllab/api.py                             |  117 ++
 superset/superset_typing.py                        |  286 ++++-
 superset/tags/api.py                               |    1 -
 superset/tags/filters.py                           |    4 +-
 superset/tags/models.py                            |    6 +-
 superset/tasks/scheduler.py                        |    7 +-
 superset/thumbnails/digest.py                      |    7 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  204 ++-
 superset/translations/ru/LC_MESSAGES/messages.po   |   29 +-
 superset/utils/cache.py                            |   22 +-
 superset/utils/core.py                             |   35 +-
 superset/utils/log.py                              |   11 +
 superset/utils/pandas_postprocessing/histogram.py  |    5 +
 superset/utils/rls.py                              |   53 +-
 superset/utils/screenshots.py                      |   21 +-
 superset/utils/ssh_tunnel.py                       |   23 +-
 superset/views/base.py                             |    1 +
 superset/views/core.py                             |   13 +-
 superset/views/custom_tags_api_mixin.py            |  105 ++
 superset/views/log/api.py                          |    6 +-
 superset/views/utils.py                            |   15 +-
 superset/viz.py                                    |    5 +-
 superset_text.yml                                  |    2 +-
 tests/integration_tests/charts/commands_tests.py   |   58 +-
 tests/integration_tests/charts/data/api_tests.py   |   44 +-
 tests/integration_tests/commands_test.py           |    4 +-
 tests/integration_tests/dashboards/api_tests.py    |  105 ++
 tests/integration_tests/databases/api_tests.py     |  105 +-
 .../integration_tests/databases/commands_tests.py  |   15 +-
 .../databases/ssh_tunnel/commands/__init__.py      |   16 -
 .../ssh_tunnel/commands/commands_tests.py          |   58 -
 tests/integration_tests/datasets/commands_tests.py |    3 +
 tests/integration_tests/query_context_tests.py     |   70 +-
 .../security/row_level_security_tests.py           |   99 ++
 .../sql_lab/test_execute_sql_statements.py         |  124 ++
 tests/integration_tests/sqla_models_tests.py       |   16 +-
 tests/integration_tests/superset_test_config.py    |    4 +
 tests/integration_tests/tags/api_tests.py          |   86 ++
 .../tags/mysql_compatibility_test.py               |  285 +++++
 .../unit_tests/charts/commands/data}/__init__.py   |    0
 .../charts/commands/data/test_get_data_command.py  |  325 +++++
 .../unit_tests/commands/chart}/__init__.py         |    0
 .../chart/streaming_export_command_test.py         |  258 ++++
 .../commands/chart/warm_up_cache_test.py           |  490 +++++++
 .../commands/databases/csv_reader_test.py          |   65 +
 .../commands/databases/sync_permissions_test.py    |   11 +-
 .../unit_tests/commands/sql_lab}/__init__.py       |    0
 .../sql_lab/streaming_export_command_test.py       |  540 ++++++++
 .../common/test_query_context_processor.py         |  788 ++++++++++--
 tests/unit_tests/common/test_time_shifts.py        |   26 +-
 tests/unit_tests/dao/base_dao_test.py              |    5 +-
 tests/unit_tests/dao/key_value_test.py             |    1 +
 tests/unit_tests/databases/api_test.py             |  159 +--
 tests/unit_tests/databases/commands/utils_test.py  |    9 +-
 tests/unit_tests/databases/dao/dao_tests.py        |    7 +-
 tests/unit_tests/databases/filters_test.py         |    5 +-
 .../databases/ssh_tunnel/commands/__init__.py      |   16 -
 .../databases/ssh_tunnel/commands/create_test.py   |  148 ---
 .../databases/ssh_tunnel/commands/delete_test.py   |   73 --
 .../databases/ssh_tunnel/commands/update_test.py   |  155 ---
 tests/unit_tests/databases/ssh_tunnel/dao_tests.py |   37 -
 tests/unit_tests/datasets/commands/export_test.py  |    5 +
 .../datasets/test_datetime_format_detector.py      |  225 ++++
 .../mcp_service/chart/test_chart_schemas.py        |   12 +-
 .../mcp_service/chart/test_chart_utils.py          |   26 +-
 .../dashboard/tool/test_dashboard_generation.py    |   87 +-
 .../dashboard/tool/test_dashboard_tools.py         |   66 +-
 .../mcp_service/dataset/tool/test_dataset_tools.py |  118 +-
 .../mcp_service/system/tool/test_health_check.py   |   55 +
 tests/unit_tests/mcp_service/test_mcp_config.py    |  137 ++
 .../mcp_service/test_mcp_tool_registration.py      |   51 +
 .../mcp_service/utils/test_schema_utils.py         |  515 ++++++++
 tests/unit_tests/models/core_test.py               |    2 +-
 tests/unit_tests/models/helpers_test.py            |  578 +++++++++
 .../models/test_time_filter_double_application.py  |  369 ++++++
 .../pandas_postprocessing/test_histogram.py        |   67 +
 tests/unit_tests/queries/query_object_test.py      |   63 +-
 tests/unit_tests/sql/dialects/db2_tests.py         |  246 ++++
 tests/unit_tests/sql/parse_tests.py                |   88 ++
 tests/unit_tests/sql/transpile_to_dialect_test.py  |  347 +++++
 tests/unit_tests/tags/models_test.py               |  263 ++++
 .../unit_tests/utils/test_screenshot_cache_fix.py  |  410 ++++++
 487 files changed, 31545 insertions(+), 6963 deletions(-)
 create mode 100644 docs/developer_portal/extensions/contribution-types.md
 rename docs/developer_portal/extensions/{deploying-extension.md => deployment.md} (59%)
 delete mode 100644 docs/developer_portal/extensions/development-mode.md
 create mode 100644 docs/developer_portal/extensions/development.md
 delete mode 100644 docs/developer_portal/extensions/extension-metadata.md
 create mode 100644 docs/developer_portal/extensions/extension-points/sqllab.md
 delete mode 100644 docs/developer_portal/extensions/extension-project-structure.md
 delete mode 100644 docs/developer_portal/extensions/frontend-contribution-types.md
 delete mode 100644 docs/developer_portal/extensions/interacting-with-host.md
 create mode 100644 docs/developer_portal/extensions/mcp.md
 create mode 100644 docs/developer_portal/extensions/registry.md
 rename docs/developer_portal/extensions/{security-implications.md => security.md} (65%)
 create mode 100644 docs/docs/contributing/pkg-resources-migration.md
 create mode 100644 docs/static/img/extensions/api_explorer.png
 create mode 100644 docs/static/img/superset-logo-icon-only.png
 create mode 100644 superset-core/src/superset_core/api/daos.py
 create mode 100644 superset-core/src/superset_core/api/models.py
 create mode 100644 superset-core/src/superset_core/api/query.py
 create mode 100644 superset-core/src/superset_core/api/rest_api.py
 delete mode 100644 superset-core/src/superset_core/api/types/models.py
 delete mode 100644 superset-core/src/superset_core/api/types/query.py
 delete mode 100644 superset-core/src/superset_core/api/types/rest_api.py
 create mode 100644 superset-core/src/superset_core/mcp/__init__.py
 copy superset-frontend/packages/superset-ui-core/src/components/{Flex => Progress}/index.tsx (80%)
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/EchartsTimeseries.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Heatmap/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Scatter/controlPanel.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Scatter/transformProps.test.ts
 rename superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/{controlPanel.ts => controlPanel.tsx} (81%)
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controls/ColorSchemeControl.tsx
 copy superset-frontend/{src/explore/components => plugins/plugin-chart-word-cloud/src/plugin}/controls/ColorSchemeControl/ColorSchemeLabel.tsx (99%)
 copy superset-frontend/{src/explore/components => plugins/plugin-chart-word-cloud/src/plugin}/controls/ColorSchemeControl/index.tsx (97%)
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controls/RotationControl.tsx
 copy superset-frontend/{packages/superset-core/src/ui/components => plugins/plugin-chart-word-cloud/src/plugin/controls}/index.ts (85%)
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/ColorSchemeControl.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/RotationControl.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/controlPanel.test.ts
 create mode 100644 superset-frontend/src/components/StreamingExportModal/StreamingExportModal.test.tsx
 create mode 100644 superset-frontend/src/components/StreamingExportModal/StreamingExportModal.tsx
 copy superset-frontend/{packages/superset-ui-core/src/components/assets/images => src/components/StreamingExportModal}/index.ts (80%)
 create mode 100644 superset-frontend/src/components/StreamingExportModal/useStreamingExport.test.ts
 create mode 100644 superset-frontend/src/components/StreamingExportModal/useStreamingExport.ts
 create mode 100644 superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.test.tsx
 create mode 100644 superset-frontend/src/dashboard/reducers/nativeFilters.test.ts
 copy superset-frontend/src/dashboard/util/charts/{useChartIds.ts => useAllChartIds.ts} (75%)
 copy superset-frontend/src/dashboard/util/{getChartIdsFromLayout.ts => getChartIdsFromComponent.ts} (63%)
 create mode 100644 superset-frontend/src/explore/components/controls/ViewQueryModal.test.tsx
 create mode 100644 superset-frontend/src/features/datasets/hooks/useDatasetLists.test.ts
 create mode 100644 superset-frontend/src/hooks/apiResources/datasets.test.ts
 create mode 100644 superset-frontend/src/utils/cachedSupersetGet.test.ts
 create mode 100644 superset/commands/chart/data/streaming_export_command.py
 delete mode 100644 superset/commands/database/ssh_tunnel/create.py
 delete mode 100644 superset/commands/database/ssh_tunnel/delete.py
 delete mode 100644 superset/commands/database/ssh_tunnel/update.py
 create mode 100644 superset/commands/sql_lab/streaming_export_command.py
 rename {superset-core/src/superset_core/api/types => superset/commands/streaming_export}/__init__.py (100%)
 create mode 100644 superset/commands/streaming_export/base.py
 create mode 100644 superset/core/api/core_api_injection.py
 delete mode 100644 superset/core/api/types/models.py
 delete mode 100644 superset/core/api/types/query.py
 delete mode 100644 superset/core/api/types/rest_api.py
 create mode 100644 superset/core/mcp/core_mcp_injection.py
 create mode 100644 superset/datasets/datetime_format_detector.py
 create mode 100644 superset/explorables/base.py
 create mode 100644 superset/mcp_service/ARCHITECTURE.md
 create mode 100644 superset/mcp_service/PRODUCTION.md
 create mode 100644 superset/mcp_service/SECURITY.md
 create mode 100644 superset/mcp_service/docs/tool-search-optimization.md
 mode change 100644 => 100755 superset/mcp_service/run_proxy.sh
 copy superset/mcp_service/{explore => system}/__init__.py (93%)
 copy superset/mcp_service/system/{tool/get_instance_info.py => system_utils.py} (72%)
 create mode 100644 superset/mcp_service/utils/schema_utils.py
 create mode 100644 superset/migrations/versions/2025-11-12_12-54_x2s8ocx6rto6_expand_username_field_to_128_chars.py
 create mode 100644 superset/migrations/versions/2025-11-17_19-03_a9c01ec10479_add_datetime_format_to_table_columns.py
 create mode 100644 superset/sql/dialects/db2.py
 create mode 100644 superset/views/custom_tags_api_mixin.py
 delete mode 100644 tests/integration_tests/databases/ssh_tunnel/commands/__init__.py
 delete mode 100644 tests/integration_tests/databases/ssh_tunnel/commands/commands_tests.py
 create mode 100644 tests/integration_tests/tags/mysql_compatibility_test.py
 rename {superset/core/api/types => tests/unit_tests/charts/commands/data}/__init__.py (100%)
 create mode 100644 tests/unit_tests/charts/commands/data/test_get_data_command.py
 copy {superset-core/src/superset_core => tests/unit_tests/commands/chart}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/chart/streaming_export_command_test.py
 create mode 100644 tests/unit_tests/commands/chart/warm_up_cache_test.py
 copy {superset-core/src/superset_core => tests/unit_tests/commands/sql_lab}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/sql_lab/streaming_export_command_test.py
 delete mode 100644 tests/unit_tests/databases/ssh_tunnel/commands/__init__.py
 delete mode 100644 tests/unit_tests/databases/ssh_tunnel/commands/create_test.py
 delete mode 100644 tests/unit_tests/databases/ssh_tunnel/commands/delete_test.py
 delete mode 100644 tests/unit_tests/databases/ssh_tunnel/commands/update_test.py
 delete mode 100644 tests/unit_tests/databases/ssh_tunnel/dao_tests.py
 create mode 100644 tests/unit_tests/datasets/test_datetime_format_detector.py
 create mode 100644 tests/unit_tests/mcp_service/system/tool/test_health_check.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_config.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_tool_registration.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_schema_utils.py
 create mode 100644 tests/unit_tests/models/test_time_filter_double_application.py
 create mode 100644 tests/unit_tests/sql/dialects/db2_tests.py
 create mode 100644 tests/unit_tests/sql/transpile_to_dialect_test.py
 create mode 100644 tests/unit_tests/tags/models_test.py
 create mode 100644 tests/unit_tests/utils/test_screenshot_cache_fix.py