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/10 19:42:02 UTC

(superset) branch dependabot/npm_and_yarn/superset-frontend/multi-5aecdf029b updated (8d16d6a568 -> 1ef6676b33)

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

github-bot pushed a change to branch dependabot/npm_and_yarn/superset-frontend/multi-5aecdf029b
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 8d16d6a568 chore(deps-dev): bump jest and @types/jest in /superset-frontend
     add 5493e2c96d chore(dependabot): switch back to daily cadence (a trickle rather than a flood) (#35421)
     add 5428376662 fix(pinot): `DATE_ADD` function (#35424)
     add 449a89c214 fix(slice): Fix using isdigit when id passed as int (#35452)
     add f3349388d0 fix(pinot): `DATE_SUB` function (#35426)
     add 30021f8ede fix(pinot): `SUBSTR` function (#35427)
     add fe8348c03a fix(dataset): sort by database in Dataset and Saved queries Issue (#35277)
     add 553204e613 fix(dashboard): exit markdown edit mode when clicking outside of element (#35336)
     add 3202ff4b3f fix(pinot): more functions (#35451)
     add 0364933e8b fix(explore): Remove query autotrigger (#35418)
     add e2a7dc9256 chore(deps): bump ioredis and @types/ioredis in /superset-websocket (#35428)
     add a7cc48dcda fix(test): changed test use unsaved changes prompt (#35447)
     add d83a88d5d9 chore(deps-dev): bump typescript-eslint from 8.19.0 to 8.45.0 in /superset-websocket (#35430)
     add 6ad8d29fcd chore(deps-dev): bump globals from 16.3.0 to 16.4.0 in /superset-websocket (#35431)
     add 62dc5c0306 fix(cache): ensure SQL is sanitized before cache key generation (#35419)
     add 8ebe045846 chore(deps): bump antd from 5.27.1 to 5.27.4 in /docs (#35432)
     add 38cb577fc6 chore(deps): bump swagger-ui-react from 5.27.1 to 5.29.1 in /docs (#35437)
     add 8fde970b6b chore(deps): bump @ant-design/icons from 6.0.0 to 6.1.0 in /docs (#35439)
     add 96170e43c0 fix(ag-grid-table): remove enterprise features to use community version (#35453)
     add 0e2fb1d1a3 fix(theming): CRUD view padding (#35321)
     add 891f826143 fix(dashboard): Navigate to new dashboard when saved as a new one (#35339)
     add 139b5ae20c fix(sqlglot): adhoc expressions (#35482)
     add a8fd27aec3 chore(deps): bump caniuse-lite from 1.0.30001739 to 1.0.30001747 in /docs (#35473)
     add 281fa67b8e chore(deps): bump swagger-ui-react from 5.29.1 to 5.29.2 in /docs (#35472)
     add fd4fe2c2ad chore(deps-dev): bump typescript from 5.9.2 to 5.9.3 in /docs (#35471)
     add 593e376cf2 chore(deps): bump winston from 3.17.0 to 3.18.3 in /superset-websocket (#35470)
     add d83a938870 chore(deps-dev): bump globals from 16.3.0 to 16.4.0 in /docs (#35469)
     add 249733c768 chore(deps-dev): bump @types/node from 24.2.0 to 24.6.2 in /superset-websocket (#35467)
     add 8bb911bc91 fix(modals): use Modal.useModal hook for proper dark mode theming (#35198)
     add d23006ce03 chore(deps-dev): bump @types/node from 22.15.30 to 24.6.2 in /superset-frontend (#35476)
     add 04b1a45416 fix(security-manager): switch from deprecated get_session to session attribute (#35290)
     add 635b7a6a4d fix(loading): improve loading screen theming for dark mode support (#35129)
     add 821173f6c4 fix(frontend): remove describe/it blocks from Modal.useModal tests (#35497)
     add d39c55e941 fix(Select): Prevent closing the select when clicking on a tag (#35487)
     add a7b158c7fa fix(explore): correct search icon in dashboard submenu (#35489)
     add 4545d55d30 fix: Support metric macro for  embedded users (#35508)
     add 77c3146829 fix(webdriver): add missing options object to WebDriver initialization (#35504)
     add b7266e647c chore(deps): bump swagger-ui-react from 5.29.2 to 5.29.3 in /docs (#35517)
     add 70cd4dd9d9 chore(deps): bump caniuse-lite from 1.0.30001747 to 1.0.30001748 in /docs (#35515)
     add 64af516dfd chore(deps-dev): bump @eslint/js from 9.36.0 to 9.37.0 in /docs (#35511)
     add 72464afb2e chore(deps-dev): bump eslint from 9.36.0 to 9.37.0 in /superset-websocket (#35513)
     add 9d50f1b8a2 fix: update chart with dashboards validation (#35523)
     add a90928766b fix(theme-crud): add unsaved changes modal (#35254)
     add 89932fa0b2 fix(explore): Include chart canvases in the screenshot (#35491)
     add f7b9d7a64b fix(chart): Fixes BigNumber gradient appearing blackish in light mode (#35527)
     add e32c2d82a5 chore(deps-dev): bump eslint from 9.36.0 to 9.37.0 in /docs (#35549)
     add c519094313 chore(deps-dev): bump @types/node from 24.6.2 to 24.7.0 in /superset-websocket (#35547)
     add 10cb964c96 chore(deps-dev): bump ts-jest from 29.4.1 to 29.4.4 in /superset-websocket (#35516)
     add d7903631f5 chore(deps-dev): bump @docusaurus/module-type-aliases from 3.8.1 to 3.9.1 in /docs (#35514)
     add d383b2bf3c chore(deps-dev): bump eslint-plugin-react from 7.37.4 to 7.37.5 in /superset-frontend (#35445)
     add 441e043bff feat(docs): Populate Developer Portal with comprehensive documentation framework (#35217)
     add 50a5854b25 fix: dataset update with invalid SQL query (#35543)
     add 668dcf4799 chore(deps): bump caniuse-lite from 1.0.30001748 to 1.0.30001749 in /docs (#35565)
     add 930736bdb0 chore(deps-dev): bump webpack from 5.102.0 to 5.102.1 in /docs (#35564)
     add aa54da6d67 chore(deps-dev): bump typescript-eslint from 8.45.0 to 8.46.0 in /superset-websocket (#35563)
     add 831a9a8a57 chore(deps): bump ioredis from 5.8.0 to 5.8.1 in /superset-websocket (#35562)
     add 82e4763588 chore(deps-dev): bump @typescript-eslint/parser from 8.45.0 to 8.46.0 in /docs (#35548)
     add 54b4056eb3 chore(deps-dev): bump typescript-eslint from 8.45.0 to 8.46.0 in /docs (#35545)
     add 6b1c058436 chore(deps): bump interweave from 13.1.0 to 13.1.1 in /superset-frontend (#35440)
     add 19cf645224 chore(deps): bump debug from 4.4.1 to 4.4.3 in /superset-websocket/utils/client-ws-app (#35363)
     add c2120f62cf chore(deps-dev): bump typescript from 5.7.3 to 5.9.3 in /superset-websocket (#35375)
     add a9630f3ec7 chore(deps-dev): bump @docusaurus/tsconfig from 3.8.1 to 3.9.1 in /docs (#35376)
     add 9d3fab8e4d chore(deps): update ace-builds requirement from ^1.43.1 to ^1.43.3 in /superset-frontend/packages/superset-ui-core (#35400)
     add d921f6d2b4 chore(deps): bump @docusaurus/preset-classic from 3.8.1 to 3.9.1 in /docs (#35442)
     add 4dbdb1811b chore(deps): update react requirement from ^19.1.1 to ^19.2.0 in /superset-frontend/plugins/legacy-plugin-chart-chord (#35429)
     add ed47ceb1e4 chore(deps-dev): update jest requirement from ^30.0.5 to ^30.2.0 in /superset-frontend/plugins/plugin-chart-handlebars (#35397)
     add 8a61cdf4f2 chore(deps-dev): update fs-extra requirement from ^11.3.0 to ^11.3.2 in /superset-frontend/packages/generator-superset (#35396)
     add 3acc9aba8b chore(deps): bump less from 4.4.1 to 4.4.2 in /docs (#35577)
     add 5a15c632ad fix(Alerts): Correct icon sizes (#35572)
     add 9f2fead651 chore(deps): update dompurify requirement from ^3.2.6 to ^3.2.7 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#35383)
     add 9a43a47e6a chore(deps-dev): update @babel/types requirement from ^7.28.0 to ^7.28.4 in /superset-frontend/plugins/plugin-chart-pivot-table (#35388)
     add c846cd187c chore(deps): update @mapbox/tiny-sdf requirement from ^2.0.6 to ^2.0.7 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#34939)
     add ff80d4f406 chore(deps-dev): update @babel/types requirement from ^7.28.0 to ^7.28.2 in /superset-frontend/plugins/plugin-chart-pivot-table (#34463)
     add 79ff093b30 chore(deps-dev): bump @babel/plugin-transform-runtime from 7.27.1 to 7.28.3 in /superset-frontend (#35576)
     add 91fbc64327 chore(deps): update dayjs requirement from ^1.11.13 to ^1.11.18 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#34965)
     add 941907ed4e chore(deps-dev): update cross-env requirement from ^10.0.0 to ^10.1.0 in /superset-frontend/packages/generator-superset (#35393)
     add 412587ad41 fix(tables): Dark mode scrollbar styles for webkit (#35338)
     add de0bd37a66 chore(deps-dev): update jest requirement from ^30.0.5 to ^30.2.0 in /superset-frontend/plugins/plugin-chart-pivot-table (#35392)
     add 17ebbdd966 fix(csv upload): Correctly casting to string numbers with floating points (e+) (#35586)
     add e437ae1f2f fix(alerts): log execution_id instead of report schedule name in query timing (#35592)
     add 3dcf85caef fix(export): replace iframe with fetch to avoid CSP frame-src violations (#35584)
     add 9918f8868e chore(deps-dev): bump @types/node from 24.7.0 to 24.7.1 in /superset-websocket (#35597)
     add 8727d321f3 chore(deps): bump github/codeql-action from 3 to 4 (#35568)
     add c38ba1daa8 fix(d3-format): call setupFormatters synchronously to apply D3 format… (#35529)
     add 9d1d396a9b fix: fix extension e2e flow (#35589)
     add 1c934b474a docs: add documentation for Arc to Superset's supported databases (#35585)
     add 97518544ee feat(dashboard): chart customization/dynamic group by in dashboards (#33831)
     add 35b5f8dcdc test(frontend): remove 3 duplicate JSX test files (#35590)
     add 9252d835b8 fix(deckgl): scatterplot fix categorical color (#35537)
     add e6bd03fe98 fix(theming): solve modal dark theme issues + styling and code improvements (#35539)
     add bd48e87eeb fix: no fs logging of extensions unless flag is set (#35612)
     add ccc0e3dbb2 fix: Log Celery task failures with a signal handler (#35595)
     add 7e06ce8eeb chore(deps-dev): bump @typescript-eslint/parser from 8.46.0 to 8.46.1 in /superset-websocket (#35631)
     add a01560cfa1 chore(deps-dev): bump typescript-eslint from 8.46.0 to 8.46.1 in /docs (#35628)
     add f68ee6ba67 chore(deps): bump swagger-ui-react from 5.29.3 to 5.29.4 in /docs (#35617)
     add 5d77ed3677 chore(deps-dev): bump @types/node from 24.7.1 to 24.7.2 in /superset-websocket (#35616)
     add d0a0d280a1 chore(deps-dev): bump ts-jest from 29.4.4 to 29.4.5 in /superset-websocket (#35615)
     add 78907d08cd chore(deps): bump caniuse-lite from 1.0.30001749 to 1.0.30001750 in /docs (#35614)
     add 09772eeda0 fix(config.py): reset HTML_SANITIZATION to True by default (#35603)
     add 51489a75ce chore: bump pretty-ms to 9.3.0 (#35667)
     add 400a8aec89 chore(deps-dev): bump typescript-eslint from 8.46.0 to 8.46.1 in /superset-websocket (#35630)
     add 4ddc3f14ed refactor(frontend): convert DatasourceEditor tests to TypeScript (#35606)
     add 4b5629d1c8 fix(theme): align "Clear local theme" option with other theme menu items (#35651)
     add 58672dfab6 fix(table-chart): fix page size label visibility and improve header control wrapping (#35648)
     add de1dd53186 fix(theme-crud): enable overwrite confirmation UI for theme imports (#35558)
     add 1617bbbe71 docs: Add Production Security Hardening Guide (#35190)
     add ca29adb0cb chore(deps): bump fuse.js from 7.0.0 to 7.1.0 in /superset-frontend (#35678)
     add 09349cb1e7 chore(deps): bump caniuse-lite from 1.0.30001750 to 1.0.30001751 in /docs (#35677)
     add dc0c055518 chore(deps-dev): bump webpack from 5.102.0 to 5.102.1 in /superset-frontend (#35675)
     add fb8fca4c64 chore(deps): bump antd from 5.27.4 to 5.27.5 in /docs (#35654)
     add 8c125d2553 feat: use  in deck.gl custom tooltip instead of SafeMarkdown (#35665)
     add f405174fcf fix(dataset): render default URL description properly in settings (#35669)
     add 92c07aaf54 chore(deps-dev): bump @playwright/test from 1.55.0 to 1.56.0 in /superset-frontend (#35676)
     add 408f84aea6 chore(deps): update dompurify requirement from ^3.2.7 to ^3.3.0 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#35632)
     add aede3bb5ba fix(auth): redirect anonymous attempts to view dashboard with next (#35345)
     add de5ca79805 chore(deps): update chalk requirement from ^5.4.1 to ^5.6.2 in /superset-frontend/packages/generator-superset (#35391)
     add 3db613dab5 chore(docs): switch to markdown headlines for available macros (#35685)
     add 9ab0a0179d fix(charts): update axis title labels to sentence case (#35694)
     add aea4375255 chore(deps): update @fontsource/fira-code requirement from ^5.2.6 to ^5.2.7 in /superset-frontend/packages/superset-ui-core (#35709)
     add aa496def53 chore(deps-dev): bump @babel/cli from 7.27.2 to 7.28.3 in /superset-frontend (#35708)
     add 311b7a72dc chore(deps-dev): bump copy-webpack-plugin from 13.0.0 to 13.0.1 in /superset-frontend (#35707)
     add e8a6fb24ae chore(deps): bump react-reverse-portal from 2.1.2 to 2.3.0 in /superset-frontend (#35706)
     add 8368ea4094 chore(deps-dev): bump eslint-plugin-prettier from 5.2.3 to 5.5.4 in /superset-frontend (#35700)
     add 925401b4e1 chore(deps-dev): bump @types/node from 24.7.2 to 24.8.1 in /superset-websocket (#35698)
     add 754201b3d0 chore(deps): bump dayjs from 1.11.13 to 1.11.18 in /superset-frontend (#35697)
     add 8e7edce616 chore(deps-dev): bump @types/node from 24.6.2 to 24.8.1 in /superset-frontend (#35705)
     add 0eeb184b6a chore(deps): bump @luma.gl/constants from 9.1.9 to 9.2.2 in /superset-frontend (#35696)
     add 0b3fe3d60c test: add comprehensive unhappy path tests for export (#35718)
     add d089a96163 fix(playwright): Download dashboard correctly (#35484)
     add 1b6d57c3f3 test(tasks): Add tests for log_task_failure signal handler (#35721)
     add c35fc71bc5 chore(deps-dev): bump @eslint/js from 9.37.0 to 9.38.0 in /docs (#35736)
     add 00d2f577df chore(deps-dev): bump eslint from 9.37.0 to 9.38.0 in /superset-websocket (#35735)
     add 24f0aed8a7 chore(deps): bump swagger-ui-react from 5.29.4 to 5.29.5 in /docs (#35734)
     add fdc03d4bf3 chore(deps): update xss requirement from ^1.0.14 to ^1.0.15 in /superset-frontend/packages/superset-ui-core (#35747)
     add 3926f5c55c chore(deps-dev): bump @babel/eslint-parser from 7.26.5 to 7.28.4 in /superset-frontend (#35746)
     add 7c946ae3db chore(deps-dev): bump @docusaurus/tsconfig from 3.9.1 to 3.9.2 in /docs (#35733)
     add ee23815aff chore(deps): bump @docusaurus/core from 3.9.1 to 3.9.2 in /docs (#35738)
     add 35c3d8dfbc chore(deps): bump @docusaurus/plugin-client-redirects from 3.9.1 to 3.9.2 in /docs (#35739)
     add fa90ba976c fix: Extension events not fired in SQL Lab tabs (#35753)
     add 4974c08f7d chore(deps): bump @docusaurus/theme-mermaid from 3.9.1 to 3.9.2 in /docs (#35741)
     add 8e31c93119 chore(deps): bump @docusaurus/preset-classic from 3.9.1 to 3.9.2 in /docs (#35744)
     add f165785003 docs: update links in CONTRIBUTING.md to point to the correct Developer Portal URLs (#35723)
     add 68d65f727f chore(deps): bump antd from 5.27.5 to 5.27.6 in /docs (#35765)
     add 6d8ceed10e chore(deps-dev): bump typescript-eslint from 8.46.1 to 8.46.2 in /docs (#35764)
     add 500ce7a02a chore(deps): bump ace-builds from 1.43.3 to 1.43.4 in /superset-frontend (#35763)
     add 26cbd71099 chore(deps-dev): bump prettier-plugin-packagejson from 2.5.8 to 2.5.19 in /superset-frontend (#35760)
     add 86583f1121 chore(deps-dev): bump @typescript-eslint/parser from 8.46.1 to 8.46.2 in /superset-websocket (#35759)
     add f02899d38d chore(deps-dev): bump @types/node from 24.8.1 to 24.9.1 in /superset-websocket (#35761)
     add 08f89690e9 chore(deps-dev): bump html-webpack-plugin from 5.6.3 to 5.6.4 in /superset-frontend (#35755)
     add b4a8acc584 chore(deps-dev): bump @babel/compat-data from 7.28.0 to 7.28.4 in /superset-frontend (#35730)
     add 58758de93d feat(reports): allow custom na values (#35481)
     add 4a3453999a chore(deps-dev): bump eslint from 9.37.0 to 9.38.0 in /docs (#35727)
     add 337da13ba7 fix: Changes ResultSet to include sqlEditorImmutableId when fetching results (#35773)
     add a463d66c80 chore(deps-dev): bump typescript-eslint from 8.46.1 to 8.46.2 in /superset-websocket (#35757)
     add 47e82b02ed chore(deps-dev): bump ts-jest from 29.4.0 to 29.4.5 in /superset-frontend (#35732)
     add fcfafebb29 fix(Themes): Local label inconsistent behaviors (#35663)
     add bad03b1e76 fix(Actions): Improper spacing (#35724)
     add 98fba1eefe fix(security): Add active property to guest user (#35454)
     add d9dcbb68b7 chore(docs): use native docusauros admonition notation (#35791)
     add 7f0c0aea94 fix(ThemeController): replace fetch with SupersetClient for proper auth (#35794)
     add 1234533c67 fix: edit dataset modal visual fixes (#35799)
     add d09421230b test(dashboard): eliminate race condition in FiltersConfigModal test (#35717)
     add 79918a7939 fix(frontend): resolve race condition in DatasetUsageTab pagination s… (#35691)
     add 5e4a80e5d0 fix(ag-grid): fix conditional formatting theme colors and module extensibility (#35605)
     add 93cb60b24e docs(db_engine_specs): restructure feature table for GitHub rendering (#35809)
     add c3b8c96db6 fix(alerts): improve Slack API rate limiting for large workspaces (#35622)
     add 7c9720e22b fix(dashboard): handle invalid thumbnail BytesIO objects gracefully (#35808)
     add cc6a5dc29a feat(mcp): PR1 - Add MCP service scaffold for Apache Superset (#35163)
     add 3d2ed363aa fix(docs): Update Arc database connector documentation (#35805)
     add 51aad52e6c fix: unpin holidays and prophet (#35771)
     add 19473af401 fix(database-modal): fix issue where commas could not be typed into DB configuration. (#35289)
     add 0bf34d4d6f fix(native-filters): prevent circular dependencies and improve dependency handling (#35317)
     add 6e60a00d69 fix(SqlLab): South pane visual changes (#35601)
     add 6704c0aaec fix(sqllab): Fix CSV export button href in SQL Lab when application root is defined (#35118)
     add bf830b2dd5 fix(theme): add fontWeightStrong to allowedAntdTokens to fix bold markdown rendering (#35821)
     add 61758c07d2 fix: update Russian translations (#35750)
     add 7a759c903b chore(deps): bump swagger-ui-react from 5.29.5 to 5.30.0 in /docs (#35865)
     add e1455057e7 feat(mcp): PR2 - Add chart listing and info tools with core infrastructure (#35835)
     add 5218b4eea2 fix(echarts): fix time shift color matching functionality (#35826)
     add 61c68f7b8f fix(reports): Add celery task execution ID to email notification logs (#35807)
     add 7733265fa2 fix(mcp): remove hardcoded admin username fallbacks (#35875)
     add 5c57c9c0b2 fix: add utc=True to pd.to_datetime for timezone-aware datetimes (#35587)
     add 514d56d1ae feat: conditional formatting improvements add flag toAllRow and  toTextColor in tables (#34762)
     add 2db19008fb test(dashboard): strengthen fontWeightStrong assertion for markdown bold (#35872)
     add 99b61143f6 feat(Chart): Save Chart State globally (#35343)
     add 48ee0821d3 feat: show total in waterfall chart (#35876)
     add 2013963e0b chore(deps-dev): bump @types/node from 24.9.1 to 24.9.2 in /superset-websocket (#35879)
     add dd857a2c7a fix: displaying cell bars in table (#35885)
     add a5eb02d178 chore(deps): bump use-immer from 0.9.0 to 0.11.0 in /superset-frontend (#35789)
     add 8ccdf3b32b feat(frontend): Replace ESLint with OXC hybrid linting architecture (#35506)
     add 5fc934d859 chore: bump shillelagh to 1.4.3 (#35895)
     add 6f50ddf710 refactor(explore): extract session ID retrieval into overridable method (#35779)
     add f6f15f58ee fix: set pandas 2.1 as requirement (#35912)
     add 6e27bee2ca refactor(explore): improve focus management in adhoc filter editor (#35801)
     add 0a95f74f11 chore: Docs and config improvements for Docker setup (#35896)
     add 30d584afd1 fix(db2): update time grain expressions for DAY to use DATE function (#35848)
     add fee4e7d8e2 feat(mcp): MCP service implementation (PRs 3-9 consolidated) (#35877)
     add d1f9c77afd chore(deps): bump caniuse-lite from 1.0.30001751 to 1.0.30001752 in /docs (#35924)
     add be3690c22b fix(explore): formatting the SQL in "View Query" pop-up doesn't format (#35898)
     add 00a6772507 chore(deps): bump swagger-ui-react from 5.30.0 to 5.30.1 in /docs (#35955)
     add 3c43ce4e06 chore(deps): bump antd from 5.27.6 to 5.28.0 in /docs (#35956)
     add 17299e469a chore(deps-dev): bump @eslint/js from 9.38.0 to 9.39.0 in /docs (#35954)
     add 405ed2e736 chore(deps-dev): bump eslint from 9.38.0 to 9.39.0 in /superset-websocket (#35953)
     add ae1f0bb107 chore(deps-dev): bump @types/node from 24.9.2 to 24.10.0 in /superset-websocket (#35952)
     add bae2c90bae docs: correct spelling typos in project codebase (#35935)
     add 27011d0239 fix(sqllab): align refresh buttons with select input fields (#35917)
     add 5224347c39 test(useThemeMenuItems): fix race conditions by awaiting all userEvent calls (#35918)
     add 1c1d1ddbec chore(deps): bump caniuse-lite from 1.0.30001752 to 1.0.30001753 in /docs (#35957)
     add b92b725fe2 chore(deps-dev): bump eslint from 9.38.0 to 9.39.0 in /docs (#35951)
     add 51b4df7a1f chore(deps-dev): bump globals from 16.4.0 to 16.5.0 in /docs (#35949)
     add 7cd04c088c chore(deps-dev): bump globals from 16.4.0 to 16.5.0 in /superset-websocket (#35948)
     add 46db8b7803 fix(dataset): sync columns checkbox not responding to clicks in virtual dataset modal (#35650)
     add 53687ae659 fix(dashboard): fix dataset search in filter config modal (#35488)
     add 0d70373d95 feat(npm): New `npm run clear-npm` script to nuke `node_modules` faster.  (#35923)
     add 7265567561 fix(DatasourceEditor): preserve calculated column order when editing sql (#35790)
     add 04231c86db fix(TimeTable): Match calculations between filtered and non filtered states (#35619)
     add a1d4dff99d feat(logs): Add is_cached as part of ChartDataRestApi.data actions (#36001)
     add 3f49938b79 fix(explore): Overwriting a chart updates the form_data_key (#35888)
     add 392b880b52 fix(view-in-sqllab): unable to open virtual dataset after discarding chart edits (#35931)
     add 32099d8f49 chore(deps): bump swagger-ui-react from 5.30.1 to 5.30.2 in /docs (#35994)
     add 1f960d5761 fix(DatabaseModal): prevent errors when pasting text into supported database select (#35916)
     add 14f20e644e fix(chart list): Facepile shows correct users when saving chart properties (#33392)
     add 84a1abd357 fix(ui): bump AntD to 5.26.0 to fix Splitter drag menu issue (#35782)
     add 3765c31163 chore(logs): Use correct log level and remove duplicates for get_query (#36023)
     add 0827ff7687 feat(build): Migrate webpack to SWC for ~70%+ faster builds (#35946)
     add af37e12de4 fix(SelectFilterPlugin): clear all clears all filters including dependent ones (#35303)
     add f5f5913a29 test: revert unrelated flaky test fix from MCP PR (#36015)
     add c11be72ead fix(UI): spacings + UI fixes (#36010)
     add 2f2128ac48 chore(deps): bump caniuse-lite from 1.0.30001753 to 1.0.30001754 in /docs (#36018)
     add 208b1f7fa3 docs: Reorganize and improve developer portal documentation (#36005)
     add 0307c71945 fix(Context-Menu): Fixing Context Menu for Table Chart with Html Content (#33791)
     add 728bc2c632 fix: Ensure that Playwright tile height is always positive (#36027)
     add 9546ee37e5 chore(superset-core): move ui to new core (#35308)
     add 258512fef2 fix(echarts): Series style hidden for line charts (#33677)
     add d2550a525b refactor(mcp): shorten tool name from get_superset_instance_info to get_instance_info (#36032)
     add 4d0fdba97a fix(webpack): webpack refresh plugin (#36041)
     add 909bd877c9 fix(filters): preserve backend metric-based sorting (#35152)
     add 3167a0dbc0 chore(mcp-service): upgrade fastmcp from 2.10.6 to 2.13.0.2 (#36014)
     add c42e3c6837 fix(reports): improve error handling for report schedule execution (#35800)
     add c9f65cf1c2 fix(date_parser): add check for time range timeshifts (#36039)
     add 63dfd95aa2 fix: Flakiness around scrolling during taking tiled screenshots with Playwright (#36051)
     add ae63f64771 style(sqllab): restore Template Parameters modal styling (#35965)
     add e915d7d1d0 chore(deps): bump min-document from 2.19.0 to 2.19.1 in /superset-frontend (#36046)
     add b85621e9a7 docs: Add custom chart plugin deployment instructions (#36028)
     add 64ca080bb8 feat(playwright): Remove Cypress auth tests in favor of Playwright auth tests (#35938)
     add 0a5144fc1d fix(tests): fix flakey tests with PropertiesModal.test.tsx, FiltersConfigModal.test.tsx and ChartList.listview.test.tsx (#36037)
     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 8c603a6f8b feat(state): remove chart state when navigation away from the dashboard (#36421)
     add 236e000398 fix(Gauge): clearing previously set min and max values in a gauge chart sets the data labels to 0 (#36425)
     add fb2826f92e fix(SaveModal): Update chart state when saving in explore (#36441)
     add 1d9c93a793 fix: core mcp injection and ephemeral envs (#36440)
     add 98553f83e3 chore(deps): bump jsonwebtoken from 9.0.2 to 9.0.3 in /superset-websocket/utils/client-ws-app (#36436)
     add a18b62cf6b chore(deps): bump jsonwebtoken from 9.0.2 to 9.0.3 in /superset-websocket (#36435)
     add 1127374edd chore(ts): Migrate Row.jsx to Row.tsx (#36347)
     add 240091516a chore(deps): bump hot-shots from 11.3.0 to 11.4.0 in /superset-websocket (#36450)
     add a76ec75933 fix: button text capitalization (#36444)
     add 8a00badf45 chore(ts): Migrate Header.jsx to Header.tsx [SIP-36] (#36286)
     add 8d04c33adf refactor(sqllab): Separate left panel outside of tab container (#36360)
     add 440cbc4c1f fix(roles): Add missing SQLLab permissions for estimate and format (#36263)
     add 67cf287c03 fix(chart): Display better hover text for country map charts  (#36323)
     add 1dcc887a62 chore(deps): bump winston from 3.18.3 to 3.19.0 in /superset-websocket (#36451)
     add 340ab9f238 docs: Add SQL Flow Visualizer to community extensions registry (#36454)
     add e7c060466d fix(SqlLab): enhance SQL formatting with Jinja template support. (#36277)
     add 0131e542e9 chore(deps-dev): bump eslint-plugin-react-hooks from 4.6.2 to 7.0.1 in /superset-frontend (#35882)
     add b35b1d7633 fix: add subdirectory deployment support for app icon and reports urls (#35098)
     add 3940354120 feat(theming): add per-theme custom font URL support (#36317)
     add f4b919bf7d feat(table): Export table data with "Search box" enabled (#36281)
     add 9e7e813255 chore(deps-dev): bump eslint-plugin-testing-library from 6.5.0 to 7.13.3 in /superset-frontend (#35768)
     add d300d69f8f docs: Update API Explorer screenshot (#36483)
     add 8d7c83419c fix(mcp): Use config-based URL for MCP service instead of request auto-detection (#36460)
     add bb22eb1ca8 feat: add option for hash algorithms (#35621)
     add ab80ec8066 chore(deps): bump JustinBeckwith/linkinator-action from 1.11.0 to 2.3 (#35927)
     add 955b3b2b19 chore(deps-dev): bump @types/node from 24.10.1 to 24.10.2 in /superset-websocket (#36462)
     add dc403145ed chore(deps-dev): bump @typescript-eslint/parser from 8.48.1 to 8.49.0 in /superset-websocket (#36466)
     add abc0678454 chore(deps-dev): bump @typescript-eslint/parser from 8.48.1 to 8.49.0 in /docs (#36467)
     add 47dbdd7a59 chore(deps): bump caniuse-lite from 1.0.30001759 to 1.0.30001760 in /docs (#36468)
     add 4c9a463db3 chore(deps-dev): bump yeoman-test from 10.1.1 to 11.2.0 in /superset-frontend (#36475)
     add 954da8a3cc chore(deps-dev): bump eslint-plugin-react-prefer-function-component from 3.4.0 to 5.0.0 in /superset-frontend (#36476)
     add 70a3e8fb42 docs: Remove title and badges from README index (#36442)
     add 4f14eddf73 chore(deps): Remove unused luxon dependency (#36430)
     add a64e5e15fc chore(deps): bump ioredis from 5.8.1 to 5.8.2 in /superset-websocket (#35786)
     add 4b7ae3a8f7 chore(deps-dev): bump typescript-eslint from 8.48.1 to 8.49.0 in /docs (#36469)
     add 2120569267 chore(deps-dev): bump typescript-eslint from 8.48.1 to 8.49.0 in /superset-websocket (#36465)
     add 0092cdca81 chore(ci): Upgrade GitHub Actions artifact actions to latest versions (#36432)
     add b8b7b958d9 chore(deps): bump actions/setup-node from 5 to 6 (#35633)
     add 1ef6676b33 chore(deps-dev): bump jest and @types/jest in /superset-frontend

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   (8d16d6a568)
            \
             N -- N -- N   refs/heads/dependabot/npm_and_yarn/superset-frontend/multi-5aecdf029b (1ef6676b33)

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:
 .asf.yaml                                          |     1 +
 .devcontainer/README.md                            |    11 -
 .devcontainer/default/devcontainer.json            |    19 +
 .devcontainer/devcontainer-base.json               |    39 +
 .devcontainer/setup-dev.sh                         |    84 +-
 .devcontainer/start-superset.sh                    |    83 +-
 .devcontainer/with-mcp/devcontainer.json           |    29 +
 .github/CODEOWNERS                                 |     3 +-
 .github/dependabot.yml                             |    70 +-
 .github/workflows/bashlib.sh                       |    23 +-
 .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              |     6 +-
 .github/workflows/dependency-review.yml            |     4 +-
 .github/workflows/docker.yml                       |     4 +-
 .github/workflows/embedded-sdk-release.yml         |     4 +-
 .github/workflows/embedded-sdk-test.yml            |     4 +-
 .github/workflows/ephemeral-env.yml                |     4 +-
 .github/workflows/generate-FOSSA-report.yml        |     2 +-
 .github/workflows/github-action-validator.yml      |     4 +-
 .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                   |     8 +-
 .github/workflows/prefer-typescript.yml            |     2 +-
 .github/workflows/release.yml                      |     4 +-
 .github/workflows/showtime-trigger.yml             |     2 +-
 .github/workflows/superset-app-cli.yml             |     2 +-
 .github/workflows/superset-applitool-cypress.yml   |     4 +-
 .../workflows/superset-applitools-storybook.yml    |     4 +-
 .github/workflows/superset-docs-deploy.yml         |     4 +-
 .github/workflows/superset-docs-verify.yml         |     8 +-
 .github/workflows/superset-e2e.yml                 |   125 +-
 .github/workflows/superset-extensions-cli.yml      |     4 +-
 .github/workflows/superset-frontend.yml            |    20 +-
 .github/workflows/superset-helm-lint.yml           |     2 +-
 .github/workflows/superset-helm-release.yml        |     2 +-
 .github/workflows/superset-playwright.yml          |    23 +-
 .../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        |     6 +-
 .github/workflows/superset-websocket.yml           |     2 +-
 .github/workflows/supersetbot.yml                  |     2 +-
 .github/workflows/tag-release.yml                  |     8 +-
 .github/workflows/tech-debt.yml                    |     4 +-
 .gitignore                                         |     5 +
 .pre-commit-config.yaml                            |    44 +-
 .pylintrc                                          |     2 +-
 .rat-excludes                                      |     1 +
 CONTRIBUTING.md                                    |    22 +-
 Dockerfile                                         |     4 +-
 LINTING_ARCHITECTURE.md                            |   121 +
 README.md                                          |    11 -
 RESOURCES/FEATURE_FLAGS.md                         |     2 +-
 UPDATING.md                                        |   129 +-
 docker-compose.yml                                 |     6 +-
 docker/README.md                                   |    18 +-
 docker/docker-bootstrap.sh                         |     6 +-
 .../pythonpath_dev/superset_config_docker_light.py |     1 +
 .../{config.json => config.example.json}           |     0
 docs/DOCS_CLAUDE.md                                |   642 +
 docs/developer_portal/api/frontend.md              |   477 -
 docs/developer_portal/architecture/overview.md     |   348 -
 docs/developer_portal/cli/overview.md              |   466 -
 docs/developer_portal/contributing/code-review.md  |   339 +
 .../contributing/development-setup.md              |  1108 ++
 docs/developer_portal/contributing/guidelines.md   |   415 +
 docs/developer_portal/contributing/howtos.md       |   528 +
 .../contributing/issue-reporting.md                |   418 +
 docs/developer_portal/contributing/overview.md     |   166 +
 .../contributing/release-process.md                |   469 +
 docs/developer_portal/contributing/resources.md    |   133 +
 .../developer_portal/contributing/submitting-pr.md |   321 +
 docs/developer_portal/examples/index.md            |   464 -
 docs/developer_portal/extensions/architecture.md   |   253 +
 .../extensions/contribution-types.md               |   130 +
 docs/developer_portal/extensions/deployment.md     |    49 +
 docs/developer_portal/extensions/development.md    |   239 +
 .../extensions/extension-points/sqllab.md          |   209 +
 docs/developer_portal/extensions/mcp.md            |   459 +
 docs/developer_portal/extensions/overview.md       |    53 +
 docs/developer_portal/extensions/quick-start.md    |   514 +
 docs/developer_portal/extensions/registry.md       |    47 +
 docs/developer_portal/extensions/security.md       |    35 +
 docs/developer_portal/getting-started/index.md     |   248 -
 .../guidelines/backend-style-guidelines.md         |   318 +
 .../guidelines/backend/dao-style-guidelines.md     |   365 +
 .../guidelines/design-guidelines.md                |   148 +
 .../guidelines/frontend-style-guidelines.md        |    44 +
 .../frontend/component-style-guidelines.md         |   258 +
 .../frontend/emotion-styling-guidelines.md         |   346 +
 .../guidelines/frontend/testing-guidelines.md      |   297 +
 docs/developer_portal/index.md                     |   188 +-
 docs/developer_portal/sidebars.js                  |    45 +-
 docs/developer_portal/testing/backend-testing.md   |    68 +
 docs/developer_portal/testing/ci-cd.md             |    70 +
 docs/developer_portal/testing/e2e-testing.md       |    80 +
 docs/developer_portal/testing/frontend-testing.md  |    61 +
 docs/developer_portal/testing/overview.md          |   164 +
 docs/docs/configuration/alerts-reports.mdx         |    26 +-
 docs/docs/configuration/async-queries-celery.mdx   |    10 +-
 docs/docs/configuration/databases.mdx              |    30 +
 docs/docs/configuration/sql-templating.mdx         |    40 +-
 docs/docs/configuration/theming.mdx                |    49 +-
 docs/docs/contributing/howtos.mdx                  |    54 +-
 docs/docs/contributing/pkg-resources-migration.md  |   101 +
 docs/docs/security/securing_superset.mdx           |   174 +
 docs/docusaurus.config.ts                          |    30 +-
 docs/package.json                                  |    40 +-
 docs/sidebarTutorials.js                           |    84 +-
 docs/static/img/extensions/api_explorer.png        |   Bin 0 -> 487250 bytes
 docs/static/img/extensions/sql_flow_visualizer.png |   Bin 0 -> 113995 bytes
 docs/static/img/superset-logo-icon-only.png        |   Bin 0 -> 118635 bytes
 .../version-6.0.0/configuration/theming.mdx        |    49 +-
 .../version-6.0.0/contributing/howtos.mdx          |     4 +-
 docs/versions-config.json                          |     3 +-
 docs/yarn.lock                                     |  2581 ++--
 pyproject.toml                                     |    22 +-
 pytest.ini                                         |     1 +
 requirements/base.in                               |     6 +
 requirements/base.txt                              |    27 +-
 requirements/development.in                        |     2 +-
 requirements/development.txt                       |   152 +-
 scripts/{eslint.sh => check-custom-rules.sh}       |    20 +-
 scripts/eslint.sh                                  |     2 +-
 scripts/{eslint.sh => oxlint.sh}                   |    23 +-
 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 -
 .../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                 |    27 +-
 .../src/superset_extensions_cli/cli.py             |    80 +-
 .../templates/backend/src/package/__init__.py.j2   |     0
 .../templates/backend/src/package/entrypoint.py.j2 |     1 +
 .../templates/frontend/package.json.j2             |     2 +-
 .../templates/frontend/src/index.tsx.j2            |    13 +
 .../templates/frontend/tsconfig.json.j2            |    13 +
 .../templates/frontend/webpack.config.js.j2        |    67 +
 superset-extensions-cli/tests/test_cli_init.py     |   136 +
 superset-frontend/.eslintrc.js                     |   403 +-
 superset-frontend/.eslintrc.minimal.js             |   121 +
 superset-frontend/.gitignore                       |     1 +
 superset-frontend/.storybook/preview.jsx           |     3 +-
 superset-frontend/.swcrc                           |    64 +
 superset-frontend/LINTING.md                       |   165 +
 .../cypress-base/cypress/e2e/auth/login.test.ts    |    49 -
 .../e2e/dashboard/horizontalFilterBar.test.ts      |    69 +-
 .../cypress/e2e/dashboard/nativeFilters.test.ts    |    51 +
 .../e2e/dashboard/shared_dashboard_functions.ts    |     1 +
 .../cypress/e2e/dashboard_list/list.test.ts        |     6 +-
 .../explore/visualizations/download_chart.test.js  |     4 +
 superset-frontend/js_build.sh                      |     2 +-
 superset-frontend/oxlint.json                      |   284 +
 superset-frontend/package-lock.json                | 12765 +++++++------------
 superset-frontend/package.json                     |    73 +-
 .../packages/generator-superset/package.json       |     8 +-
 .../packages/superset-core/package.json            |    30 +-
 .../packages/superset-core/src/index.ts            |     1 +
 .../src/ui}/components/Alert/Alert.stories.tsx     |    24 +-
 .../src/ui/components/Alert/Alert.test.tsx}        |    12 +-
 .../src/ui}/components/Alert/index.tsx             |    44 +-
 .../superset-core/src/ui/components/index.ts}      |     4 +-
 .../packages/superset-core/src/{ => ui}/index.ts   |     3 +-
 .../index.tsx => superset-core/src/ui/testing.tsx} |     6 +-
 .../src/ui}/theme/GlobalStyles.tsx                 |     0
 .../superset-core/src/ui/theme/Theme.test.tsx      |   768 ++
 .../src => superset-core/src/ui}/theme/Theme.tsx   |     2 +-
 .../src/ui}/theme/exampleThemes.ts                 |     0
 .../src => superset-core/src/ui}/theme/index.tsx   |     1 +
 .../src => superset-core/src/ui}/theme/types.ts    |    26 +-
 .../src/ui/theme/utils/index.ts}                   |     2 +-
 .../src/ui/theme/utils/themeUtils.test.ts          |   236 +
 .../src/ui}/theme/utils/themeUtils.ts              |     2 +-
 .../superset-core/src/ui/theme/utils/utils.test.ts |   338 +
 .../src/components/CertifiedIconWithTooltip.tsx    |     3 +-
 .../src/components/ColumnOption.tsx                |     2 +-
 .../components/ColumnTypeLabel/ColumnTypeLabel.tsx |     3 +-
 .../src/components/ControlHeader.tsx               |     3 +-
 .../src/components/ControlSubSectionHeader.tsx     |     2 +-
 .../src/components/MetricOption.tsx                |     3 +-
 .../src/components/SQLPopover.tsx                  |     3 +-
 .../src/components/labelUtils.tsx                  |     3 +-
 .../src/shared-controls/sharedControls.tsx         |    26 +
 .../superset-ui-chart-controls/src/types.ts        |    15 +-
 .../src/utils/getColorFormatters.ts                |    82 +-
 .../test/operators/renameOperator.test.ts          |    89 +-
 .../test/operators/sortOperator.test.ts            |    36 +-
 .../test/utils/getColorFormatters.test.ts          |  1184 +-
 .../test/utils/getTemporalColumns.test.ts          |    14 +-
 .../packages/superset-ui-core/package.json         |    14 +-
 .../src/chart/components/FallbackComponent.tsx     |     2 +-
 .../Matrixify/MatrixifyGridCell.test.tsx           |     2 +-
 .../components/Matrixify/MatrixifyGridCell.tsx     |     2 +-
 .../Matrixify/MatrixifyGridRenderer.test.tsx       |     4 +-
 .../components/Matrixify/MatrixifyGridRenderer.tsx |     2 +-
 .../src/chart/components/NoResultsComponent.tsx    |     2 +-
 .../src/chart/models/ChartProps.ts                 |     2 +-
 .../superset-ui-core/src/chart/types/Base.ts       |    38 +
 .../components/ActionButton/ActionButton.test.tsx  |   108 +
 .../src/components/ActionButton/index.tsx          |    75 +
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |   252 +
 .../src/components/AsyncAceEditor/index.tsx        |    87 +-
 .../src/components/Badge/index.tsx                 |     2 +-
 .../src/components/Button/index.tsx                |     2 +-
 .../superset-ui-core/src/components/Card/index.tsx |     2 +-
 .../src/components/CertifiedBadge/index.tsx        |     3 +-
 .../src/components/Checkbox/CheckboxIcons.tsx      |     2 +-
 .../src/components/CodeSyntaxHighlighter/index.tsx |     2 +-
 .../src/components/Collapse/Collapse.tsx           |     2 +-
 .../components/Collapse/CollapseLabelInModal.tsx   |     2 +-
 .../components/ConfirmModal/ConfirmModal.test.tsx  |   129 +
 .../src/components/ConfirmModal/index.tsx          |    88 +
 .../src/components/CronPicker/index.tsx            |     3 +-
 .../src/components/DatePicker/index.tsx            |     2 +-
 .../src/components/DeleteModal/index.tsx           |     3 +-
 .../src/components/Divider/index.tsx               |     2 +-
 .../src/components/Dropdown/index.tsx              |     2 +-
 .../src/components/DropdownButton/index.tsx        |     2 +-
 .../DropdownContainer.stories.tsx                  |     2 +-
 .../DropdownContainer/DropdownContainer.tsx        |     3 +-
 .../src/components/DynamicEditableTitle/index.tsx  |     3 +-
 .../src/components/EditableTitle/index.tsx         |     7 +-
 .../src/components/EditableTitle/types.ts          |     1 +
 .../src/components/EmptyState/index.tsx            |     3 +-
 .../src/components/FaveStar/index.tsx              |     3 +-
 .../src/components/Flex/Flex.stories.tsx           |     2 +-
 .../src/components/Form/FormItem.tsx               |     2 +-
 .../src/components/Form/FormLabel.tsx              |     2 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |     3 +-
 .../src/components/IconButton/index.tsx            |     2 +-
 .../components/IconTooltip/IconTooltip.stories.tsx |     2 +-
 .../src/components/Icons/AntdEnhanced.tsx          |     4 +
 .../src/components/Icons/BaseIcon.tsx              |     2 +-
 .../src/components/Icons/Icons.stories.tsx         |     2 +-
 .../src/components/InfoTooltip/index.tsx           |     3 +-
 .../src/components/Label/index.tsx                 |     2 +-
 .../components/Label/reusable/DatasetTypeLabel.tsx |     3 +-
 .../components/Label/reusable/PublishedLabel.tsx   |     3 +-
 .../src/components/LastUpdated/index.tsx           |     3 +-
 .../superset-ui-core/src/components/List/index.ts  |     2 +-
 .../src/components/ListViewCard/ImageLoader.tsx    |     3 +-
 .../src/components/ListViewCard/index.tsx          |     2 +-
 .../src/components/Loading/index.test.tsx          |     2 +-
 .../src/components/Loading/index.tsx               |     6 +-
 .../superset-ui-core/src/components/Menu/index.tsx |     2 +-
 .../src/components/Metadata/index.tsx              |     2 +-
 .../src/components/MetadataBar/ContentConfig.tsx   |     3 +-
 .../components/MetadataBar/MetadataBar.stories.tsx |     2 +-
 .../components/MetadataBar/MetadataBar.test.tsx    |     3 +-
 .../src/components/MetadataBar/MetadataBar.tsx     |     2 +-
 .../src/components/Modal/Modal.tsx                 |     3 +-
 .../superset-ui-core/src/components/Modal/types.ts |     4 +-
 .../src/components/PageHeaderWithActions/index.tsx |     3 +-
 .../src/components/PopoverDropdown/index.tsx       |     2 +-
 .../src/components/PopoverSection/index.tsx        |     2 +-
 .../src/components/Progress/index.tsx}             |    12 +-
 .../src/components/ProgressBar/index.tsx           |     2 +-
 .../src/components/Radio/Radio.stories.tsx         |     2 +-
 .../src/components/RefreshLabel/index.tsx          |     2 +-
 .../src/components/Select/AsyncSelect.test.tsx     |     3 +-
 .../src/components/Select/Select.test.tsx          |    32 +
 .../src/components/Select/Select.tsx               |    33 +-
 .../src/components/Select/styles.tsx               |     3 +-
 .../src/components/Table/Table.test.tsx            |     6 +-
 .../src/components/Table/VirtualTable.tsx          |     3 +-
 .../Table/cell-renderers/ActionCell/index.tsx      |     2 +-
 .../Table/cell-renderers/NullCell/index.tsx        |     2 +-
 .../header-renderers/HeaderWithRadioGroup.tsx      |     2 +-
 .../src/components/Table/index.tsx                 |    30 +-
 .../TableCollection/TableCollection.test.tsx       |    40 +-
 .../src/components/TableCollection/index.tsx       |    31 +-
 .../src/components/TableView/TableView.test.tsx    |     6 +-
 .../src/components/TableView/TableView.tsx         |     2 +-
 .../src/components/Tabs/Tabs.test.tsx              |   107 +-
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |    19 +-
 .../ThemedAgGridReact/ThemedAgGridReact.test.tsx   |    34 +-
 .../src/components/ThemedAgGridReact/index.tsx     |     8 +-
 .../ThemedAgGridReact/setupAGGridModules.test.ts   |   128 +
 .../ThemedAgGridReact/setupAGGridModules.ts        |    47 +-
 .../src/components/Timer/index.tsx                 |     2 +-
 .../src/components/TruncatedList/index.tsx         |     3 +-
 .../src/components/Typography/index.tsx            |     2 +-
 .../components/WarningIconWithTooltip/index.tsx    |     2 +-
 .../superset-ui-core/src/components/index.ts       |     6 +-
 .../useTruncation/useChildElementTruncation.ts     |     2 +-
 .../packages/superset-ui-core/src/index.ts         |     1 -
 .../src/query/normalizeTimeColumn.ts               |     1 +
 .../superset-ui-core/src/query/types/Column.ts     |     5 +
 .../superset-ui-core/src/query/types/Query.ts      |     5 +
 .../packages/superset-ui-core/src/spec/index.tsx   |     2 +-
 .../superset-ui-core/src/theme/Theme.test.tsx      |   788 --
 .../superset-ui-core/src/theme/utils.test.ts       |   352 -
 .../src/theme/utils/themeUtils.test.ts             |   246 -
 .../src/time-comparison/customTimeRangeDecode.ts   |    12 +-
 .../packages/superset-ui-core/src/types/AgGrid.ts  |    82 +
 .../packages/superset-ui-core/src/types/index.ts   |     1 +
 .../packages/superset-ui-core/src/utils/dates.ts   |     2 -
 .../superset-ui-core/src/utils/html.test.tsx       |    99 +
 .../packages/superset-ui-core/src/utils/html.tsx   |    13 +-
 .../src/validator/validateMaxValue.ts              |     2 +-
 .../test/chart/components/MockChartPlugins.tsx     |     8 +-
 .../test/chart/components/SuperChartCore.test.tsx  |    11 +-
 .../test/chart/models/ChartPlugin.test.tsx         |     2 +-
 .../test/chart/models/ChartProps.test.ts           |     3 +-
 .../Icons/AsyncIcon.integration.test.tsx           |     2 +-
 .../test/query/normalizeTimeColumn.test.ts         |     1 +
 .../packages/superset-ui-core/tsconfig.json        |    17 +-
 .../superset-ui-demo/.storybook/themeDecorator.js  |     8 -
 .../superset-ui-demo/.storybook/themeDecorator.jsx |    10 +
 .../packages/superset-ui-demo/package.json         |     1 +
 .../shared/components/ResizableChartDemo.tsx       |     2 +-
 .../CountryMap.stories.tsx                         |     9 +-
 .../legacy-plugin-chart-map-box/MapBox.stories.tsx |     3 +-
 .../plugins/legacy-plugin-chart-map-box/data.ts    |     2 +-
 .../Path/Path.stories.tsx                          |     3 +-
 .../stories/plugins/plugin-chart-table/testData.ts |     9 +-
 .../stories/superset-ui-theme/Theme.stories.tsx    |   103 +-
 superset-frontend/playwright.config.ts             |     7 +
 superset-frontend/playwright/README.md             |    23 +-
 .../playwright/tests/experimental/README.md        |    70 +
 .../legacy-plugin-chart-calendar/package.json      |     1 +
 .../src/ReactCalendar.jsx                          |     3 +-
 .../plugins/legacy-plugin-chart-chord/package.json |     5 +-
 .../legacy-plugin-chart-chord/src/ReactChord.jsx   |     3 +-
 .../legacy-plugin-chart-country-map/package.json   |     1 +
 .../src/CountryMap.css                             |    61 -
 .../src/CountryMap.js                              |    68 +-
 .../src/ReactCountryMap.jsx                        |    37 +-
 .../test/CountryMap.test.tsx                       |   159 +
 .../legacy-plugin-chart-horizon/package.json       |     1 +
 .../src/HorizonChart.jsx                           |     3 +-
 .../legacy-plugin-chart-map-box/package.json       |     1 +
 .../legacy-plugin-chart-paired-t-test/package.json |     1 +
 .../src/PairedTTest.jsx                            |     2 +-
 .../package.json                                   |     1 +
 .../src/ReactParallelCoordinates.jsx               |     3 +-
 .../legacy-plugin-chart-partition/package.json     |     1 +
 .../src/ReactPartition.jsx                         |     3 +-
 .../plugins/legacy-plugin-chart-rose/package.json  |     1 +
 .../legacy-plugin-chart-rose/src/ReactRose.jsx     |     3 +-
 .../legacy-plugin-chart-world-map/package.json     |     1 +
 .../src/ReactWorldMap.jsx                          |     3 +-
 .../legacy-plugin-chart-world-map/src/WorldMap.js  |     5 +-
 .../legacy-preset-chart-deckgl/package.json        |     7 +-
 .../src/CategoricalDeckGLContainer.tsx             |    44 +-
 .../src/DeckGLContainer.tsx                        |     3 +-
 .../src/components/Legend.tsx                      |     3 +-
 .../src/components/Tooltip.tsx                     |     3 +-
 .../src/layers/Polygon/Polygon.test.tsx            |     2 +-
 .../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 +-
 .../src/layers/Scatter/buildQuery.ts               |     8 +-
 .../src/layers/Scatter/controlPanel.ts             |     5 +-
 .../src/layers/Scatter/transformProps.ts           |     4 +-
 .../src/layers/Screengrid/Screengrid.tsx           |     2 +-
 .../src/layers/spatialUtils.test.ts                |     2 +-
 .../src/layers/spatialUtils.ts                     |     2 +-
 .../src/utilities/HandlebarsRenderer.tsx           |    24 +-
 .../src/utilities/Shared_DeckGL.tsx                |     1 +
 .../src/utilities/TooltipTemplateControl.tsx       |     3 +-
 .../src/utilities/TooltipTemplateEditor.tsx        |     2 +-
 .../src/utilities/tooltipUtils.tsx                 |     2 +-
 .../src/utils/crossFiltersDataMask.ts              |    18 +-
 .../plugins/legacy-preset-chart-nvd3/package.json  |     5 +-
 .../legacy-preset-chart-nvd3/src/ReactNVD3.jsx     |     3 +-
 .../src/AgGridTable/index.tsx                      |   134 +-
 .../src/AgGridTableChart.tsx                       |    17 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   207 +-
 .../src/controlPanel.tsx                           |     5 +-
 .../src/images/thumbnail-dark.png                  |   Bin 16447 -> 52566 bytes
 .../src/images/thumbnail.png                       |   Bin 52566 -> 16447 bytes
 .../plugin-chart-ag-grid-table/src/index.ts        |     6 +
 .../src/renderers/NumericCellRenderer.tsx          |     8 +-
 .../src/stateConversion.ts                         |   244 +
 .../src/styles/index.tsx                           |     2 +-
 .../src/transformProps.ts                          |    99 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |     3 +
 .../src/utils/getCrossFilterDataMask.ts            |     2 +-
 .../src/utils/useTableTheme.ts                     |     2 +-
 .../test/buildQuery.test.ts                        |   502 +
 .../plugins/plugin-chart-cartodiagram/package.json |     1 +
 .../src/CartodiagramPlugin.tsx                     |     2 +-
 .../src/components/ChartLayer.tsx                  |     2 +-
 .../src/components/ChartWrapper.tsx                |     3 +-
 .../plugins/plugin-chart-cartodiagram/src/types.ts |     7 +-
 .../src/util/chartUtil.tsx                         |     2 +-
 .../test/plugin/transformProps.test.ts             |     7 +-
 .../plugins/plugin-chart-echarts/package.json      |     2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     4 +-
 .../src/BigNumber/BigNumberTotal/transformProps.ts |     3 +-
 .../src/BigNumber/BigNumberViz.tsx                 |     4 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |    59 +
 .../BigNumberWithTrendline/transformProps.test.ts  |    13 +
 .../BigNumberWithTrendline/transformProps.ts       |    94 +-
 .../plugin-chart-echarts/src/BigNumber/types.ts    |     4 +
 .../src/BoxPlot/EchartsBoxPlot.tsx                 |     4 +-
 .../src/Bubble/controlPanel.tsx                    |     4 +-
 .../src/Gantt/EchartsGantt.tsx                     |     1 +
 .../src/Gantt/controlPanel.tsx                     |    14 +-
 .../plugin-chart-echarts/src/Gauge/constants.ts    |     2 +-
 .../src/Gauge/transformProps.ts                    |    16 +-
 .../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 |    27 +-
 .../plugin-chart-echarts/src/Sankey/Sankey.tsx     |     3 +-
 .../src/Sunburst/EchartsSunburst.tsx               |     1 +
 .../src/Timeseries/EchartsTimeseries.test.tsx      |   311 +
 .../src/Timeseries/EchartsTimeseries.tsx           |    28 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |     6 +-
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |    23 -
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |    47 +
 .../src/Timeseries/constants.ts                    |     1 +
 .../src/Timeseries/transformProps.ts               |    25 +-
 .../src/Timeseries/transformers.ts                 |     3 +-
 .../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 +
 .../plugin-chart-echarts/src/Treemap/constants.ts  |     1 -
 .../src/Waterfall/EchartsWaterfall.tsx             |     4 +-
 .../src/Waterfall/controlPanel.tsx                 |    12 +
 .../src/Waterfall/transformProps.ts                |    26 +-
 .../plugin-chart-echarts/src/Waterfall/types.ts    |     1 +
 .../plugin-chart-echarts/src/components/Echart.tsx |    14 +-
 .../src/components/ExtraControls.tsx               |     3 +-
 .../plugins/plugin-chart-echarts/src/controls.tsx  |     2 +-
 .../plugin-chart-echarts/src/utils/series.ts       |    11 +-
 .../test/BigNumber/transformProps.test.ts          |   130 +-
 .../test/BoxPlot/transformProps.test.ts            |     3 +-
 .../test/Bubble/transformProps.test.ts             |     2 +-
 .../test/Funnel/transformProps.test.ts             |     7 +-
 .../test/Gantt/transformProps.test.ts              |     3 +-
 .../test/Gauge/transformProps.test.ts              |   407 +-
 .../test/Graph/transformProps.test.ts              |     3 +-
 .../test/Heatmap/transformProps.test.ts            |   294 +
 .../test/MixedTimeseries/transformProps.test.ts    |     3 +-
 .../test/Pie/transformProps.test.ts                |     2 +-
 .../test/Radar/transformProps.test.ts              |     3 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |     3 +-
 .../test/Timeseries/Scatter/controlPanel.test.ts   |   156 +
 .../test/Timeseries/Scatter/transformProps.test.ts |   183 +
 .../test/Timeseries/buildQuery.test.ts             |    59 +-
 .../test/Timeseries/transformProps.test.ts         |     2 +-
 .../test/Tree/transformProps.test.ts               |     3 +-
 .../test/Treemap/transformProps.test.ts            |     3 +-
 .../test/Waterfall/transformProps.test.ts          |   211 +-
 .../plugin-chart-echarts/test/utils/series.test.ts |     2 +-
 .../test/utils/transformers.test.ts                |     2 +-
 .../plugins/plugin-chart-handlebars/README.md      |     3 -
 .../plugins/plugin-chart-handlebars/package.json   |     1 +
 .../plugin-chart-handlebars/src/Handlebars.tsx     |     2 +-
 .../src/components/Handlebars/HandlebarsViewer.tsx |     3 +-
 .../src/plugin/controls/handlebarTemplate.tsx      |     3 +-
 .../src/plugin/controls/style.tsx                  |     3 +-
 .../test/plugin/transformProps.test.ts             |     8 +-
 .../plugins/plugin-chart-pivot-table/package.json  |     2 +-
 .../src/PivotTableChart.tsx                        |    40 +-
 .../src/plugin/transformProps.ts                   |     7 +-
 .../src/react-pivottable/Styles.js                 |     9 +-
 .../test/plugin/transformProps.test.ts             |     3 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |   180 +-
 .../DataTable/components/SearchSelectDropdown.tsx  |     2 +-
 .../src/DataTable/components/SelectPageSize.tsx    |     3 +-
 .../src/DataTable/hooks/useSticky.tsx              |    39 +-
 .../src/DataTable/types/react-table.d.ts           |     2 +
 .../src/DataTable/utils/externalAPIs.ts            |    10 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |     2 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   546 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |    37 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    33 +-
 .../plugins/plugin-chart-table/src/index.ts        |     1 +
 .../plugin-chart-table/src/transformProps.ts       |     3 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   705 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |    44 +
 .../plugins/plugin-chart-table/test/testData.ts    |    28 +-
 .../plugin-chart-table/test/testHelpers.tsx        |     6 +-
 .../plugins/plugin-chart-word-cloud/package.json   |     1 +
 .../src/chart/WordCloud.tsx                        |     8 +-
 .../plugin/{controlPanel.ts => controlPanel.tsx}   |    24 +-
 .../src/plugin/controls/ColorSchemeControl.tsx     |    62 +
 .../ColorSchemeControl/ColorSchemeLabel.tsx        |     4 +-
 .../plugin}/controls/ColorSchemeControl/index.tsx  |    14 +-
 .../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/scripts/check-custom-rules.js    |   328 +
 .../scripts/oxlint-metrics-uploader.js             |   245 +
 .../{mockDatasource.js => mockDatasource.ts}       |    79 +-
 superset-frontend/spec/helpers/ProviderWrapper.tsx |     2 +-
 superset-frontend/spec/helpers/testing-library.tsx |     5 +-
 superset-frontend/src/.eslintrc.json               |     2 +-
 .../src/SqlLab/SqlLabGlobalStyles.tsx              |     2 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |    34 +-
 .../src/SqlLab/actions/sqlLab.test.js              |   195 +-
 .../SqlLab/components/AceEditorWrapper/index.tsx   |     3 +-
 .../components/AceEditorWrapper/useKeywords.ts     |     1 +
 .../src/SqlLab/components/App/App.test.tsx         |     8 +-
 .../src/SqlLab/components/App/index.tsx            |    13 +-
 .../SqlLab/components/AppLayout/AppLayout.test.tsx |   174 +
 .../src/SqlLab/components/AppLayout/index.tsx      |   138 +
 .../src/SqlLab/components/ColumnElement/index.tsx  |     3 +-
 .../EstimateQueryCostButton.test.tsx               |     6 +-
 .../components/EstimateQueryCostButton/index.tsx   |     4 +-
 .../components/KeyboardShortcutButton/index.tsx    |     3 +-
 .../components/PopEditorTab/PopEditorTab.test.tsx  |   137 +
 .../src/SqlLab/components/PopEditorTab/index.tsx   |   122 +
 .../components/QueryHistory/QueryHistory.test.tsx  |   109 +
 .../src/SqlLab/components/QueryHistory/index.tsx   |    15 +-
 .../SqlLab/components/QueryStateLabel/index.tsx    |     3 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |     6 +-
 .../src/SqlLab/components/QueryTable/styles.ts     |     2 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |    93 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |   351 +-
 .../components/RunQueryActionButton/index.tsx      |     3 +-
 .../components/SaveDatasetActionButton/index.tsx   |     3 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |    42 +
 .../SqlLab/components/SaveDatasetModal/index.tsx   |    90 +-
 .../src/SqlLab/components/SaveQuery/index.tsx      |     3 +-
 .../components/ScheduleQueryButton/index.tsx       |     3 +-
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |     8 +-
 .../src/SqlLab/components/SouthPane/Results.tsx    |     5 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |    12 +-
 .../SqlLab/components/SqlEditor/SqlEditor.test.tsx |    24 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |   181 +-
 .../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx     |   103 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |    17 +-
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |    19 -
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |    28 +-
 .../TabbedSqlEditors/TabbedSqlEditors.test.tsx     |   147 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |   125 +-
 .../components/TableElement/TableElement.test.tsx  |     2 +-
 .../src/SqlLab/components/TableElement/index.tsx   |     3 +-
 .../components/TablePreview/TablePreview.test.tsx  |    14 +-
 .../src/SqlLab/components/TablePreview/index.tsx   |   103 +-
 .../components/TemplateParamsEditor/index.tsx      |    25 +-
 superset-frontend/src/SqlLab/constants.ts          |     1 +
 .../Row/index.js => SqlLab/contributions.ts}       |     7 +-
 superset-frontend/src/SqlLab/fixtures.ts           |     8 +-
 .../src/SqlLab/hooks/useQueryEditor/index.ts       |     7 +-
 .../middlewares/persistSqlLabStateEnhancer.js      |     2 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |     6 +-
 .../src/SqlLab/reducers/sqlLab.test.js             |    87 +
 .../src/assets/images/icons/slack.svg              |   Bin 2654 -> 0 bytes
 superset-frontend/src/components/Chart/Chart.tsx   |     4 +-
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |     5 +-
 .../src/components/Chart/ChartRenderer.jsx         |     2 +
 .../components/Chart/DisabledMenuItemTooltip.tsx   |     2 +-
 .../src/components/Chart/DrillBy/DrillByChart.tsx  |     2 +-
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |     4 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |     3 +-
 .../Chart/DrillBy/useDisplayModeToggle.tsx         |     3 +-
 .../Chart/DrillBy/useResultsTableView.tsx          |     3 +-
 .../Chart/DrillDetail/DrillDetailModal.tsx         |     3 +-
 .../Chart/DrillDetail/DrillDetailPane.tsx          |     3 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |     5 +-
 .../components/Chart/MenuItemWithTruncation.tsx    |     8 +-
 .../src/components/Chart/chartAction.js            |    13 +-
 .../src/components/Chart/chartActions.test.js      |    64 +
 .../Chart/useDrillDetailMenuItems/index.tsx        |     3 +-
 .../src/components/CopyToClipboard/index.tsx       |     3 +-
 .../src/components/CrudThemeProvider.tsx           |     3 +-
 .../src/components/DatabaseSelector/index.tsx      |    81 +-
 .../{ImportModal => DatabaseSelector}/styles.ts    |    14 +-
 .../Datasource/ChangeDatasourceModal/index.tsx     |    10 +-
 .../DatasourceModal/DatasourceModal.test.jsx       |   176 +-
 .../Datasource/DatasourceModal/index.tsx           |    38 +-
 .../components/CollectionTable/index.tsx           |    29 +-
 .../DatasourceEditor/DatasourceEditor.jsx          |    80 +-
 .../components/DashboardLinksExternal/index.tsx    |     2 +-
 .../DatasetUsageTab/DatasetUsageTab.test.tsx       |   306 +-
 .../components/DatasetUsageTab/index.tsx           |    30 +-
 ...ceEditor.test.jsx => DatasourceEditor.test.tsx} |    80 +-
 ....test.jsx => DatasourceEditorCurrency.test.tsx} |    34 +-
 ...orRTL.test.jsx => DatasourceEditorRTL.test.tsx} |    15 +-
 .../Datasource/components/Field/index.tsx          |     2 +-
 .../Datasource/components/Fieldset/index.tsx       |     2 +-
 .../ErrorMessage/BasicErrorAlert.test.tsx          |     3 +-
 .../components/ErrorMessage/BasicErrorAlert.tsx    |     8 +-
 .../src/components/ErrorMessage/ErrorAlert.tsx     |     4 +-
 .../src/components/ErrorMessage/IssueCode.tsx      |     2 +-
 .../src/components/FacePile/FacePile.stories.tsx   |     2 +-
 .../src/components/FacePile/FacePile.test.tsx      |     2 +-
 .../src/components/FacePile/utils.tsx              |     2 +-
 .../src/components/GridTable/Header.test.tsx       |     2 +-
 .../src/components/GridTable/Header.tsx            |     3 +-
 .../src/components/GridTable/HeaderMenu.tsx        |     3 +-
 .../src/components/GridTable/index.tsx             |     2 +-
 .../src/components/ImportModal/ErrorAlert.tsx      |     4 +-
 .../src/components/ImportModal/index.tsx           |     3 +-
 .../src/components/ImportModal/styles.ts           |     2 +-
 .../src/components/ListView/ActionsBar.tsx         |    50 +-
 .../src/components/ListView/CardCollection.tsx     |     8 +-
 .../src/components/ListView/CardSortSelect.tsx     |     3 +-
 .../src/components/ListView/CrossLinks.tsx         |     3 +-
 .../src/components/ListView/CrossLinksTooltip.tsx  |     3 +-
 .../src/components/ListView/Filters/Base.ts        |     2 +-
 .../components/ListView/Filters/NumericalRange.tsx |     3 +-
 .../src/components/ListView/Filters/Search.tsx     |     3 +-
 .../src/components/ListView/Filters/index.tsx      |     2 +-
 .../src/components/ListView/ListView.test.jsx      |   271 -
 .../src/components/ListView/ListView.test.tsx      |   294 +-
 .../src/components/ListView/ListView.tsx           |     9 +-
 superset-frontend/src/components/ListView/utils.ts |     2 +-
 .../src/components/MessageToasts/Toast.tsx         |     2 +-
 .../components/MessageToasts/ToastPresenter.tsx    |     2 +-
 .../components/Modal/CollapsibleModalSection.tsx   |     2 +-
 .../src/components/Modal/ModalFormField.tsx        |     2 +-
 .../src/components/Modal/StandardModal.tsx         |     3 +-
 .../src/components/Modal/useModalValidation.tsx    |     3 +-
 .../src/components/ModalTitleWithIcon/index.tsx    |     2 +-
 .../src/components/ResizableSidebar/index.tsx      |     2 +-
 .../components/SQLEditorWithValidation/index.tsx   |     3 +-
 .../StreamingExportModal.test.tsx                  |   244 +
 .../StreamingExportModal/StreamingExportModal.tsx  |   380 +
 .../components/StreamingExportModal/index.ts}      |    11 +-
 .../useStreamingExport.test.ts                     |   126 +
 .../StreamingExportModal/useStreamingExport.ts     |   380 +
 .../src/components/TableSelector/index.tsx         |    24 +-
 superset-frontend/src/components/Tag/index.tsx     |     2 +-
 .../src/components/TagsList/index.tsx              |     2 +-
 superset-frontend/src/constants.ts                 |    12 +
 superset-frontend/src/core/sqlLab/index.ts         |   146 +-
 .../dashboard/actions/chartCustomizationActions.ts |   390 +
 .../src/dashboard/actions/dashboardInfo.ts         |    78 +-
 .../src/dashboard/actions/dashboardLayout.js       |     2 +-
 .../src/dashboard/actions/dashboardState.js        |    33 +-
 .../src/dashboard/actions/dashboardState.test.js   |    36 +
 superset-frontend/src/dashboard/actions/hydrate.js |     6 +-
 .../src/dashboard/actions/nativeFilters.ts         |    28 +
 .../components/AddSliceCard/AddSliceCard.tsx       |     3 +-
 .../components/BuilderComponentPane/index.tsx      |     3 +-
 .../src/dashboard/components/ColorSchemeSelect.tsx |     3 +-
 .../src/dashboard/components/Dashboard.jsx         |     1 +
 .../src/dashboard/components/Dashboard.test.jsx    |     2 +
 .../DashboardBuilder/DashboardBuilder.test.tsx     |   215 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |    63 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |   389 +
 .../DashboardBuilder/DashboardContainer.tsx        |    25 +-
 .../DashboardBuilder/DashboardWrapper.tsx          |     2 +-
 .../src/dashboard/components/DashboardGrid.jsx     |     6 +-
 .../dashboard/components/DashboardGrid.test.jsx    |    80 +-
 .../EmbeddedModal/EmbeddedModal.test.tsx           |    43 +-
 .../dashboard/components/EmbeddedModal/index.tsx   |   147 +-
 .../components/FiltersBadge/DetailsPanel/index.tsx |     3 +-
 .../FiltersBadge/FilterIndicator/index.tsx         |     2 +-
 .../dashboard/components/FiltersBadge/Styles.tsx   |     2 +-
 .../dashboard/components/FiltersBadge/index.tsx    |     2 +-
 .../dashboard/components/GroupByBadge/index.tsx    |   371 +
 .../dashboard/components/Header/Header.test.tsx    |   131 +
 .../src/dashboard/components/Header/index.jsx      |    21 +-
 .../src/dashboard/components/Header/types.ts       |     2 +-
 .../src/dashboard/components/IconButton.tsx        |     2 +-
 .../OverwriteConfirm/OverwriteConfirmModal.tsx     |     3 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |   111 +
 .../dashboard/components/PropertiesModal/index.tsx |    43 +-
 .../PropertiesModal/sections/AdvancedSection.tsx   |     3 +-
 .../PropertiesModal/sections/StylingSection.tsx    |     4 +-
 .../RefreshFrequency/RefreshFrequencySelect.tsx    |     3 +-
 .../dashboard/components/RefreshIntervalModal.tsx  |     5 +-
 .../src/dashboard/components/SaveModal.tsx         |     3 +-
 .../src/dashboard/components/SliceAdder.tsx        |     3 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    15 +-
 .../SliceHeaderControls.test.tsx                   |    37 +
 .../ViewResultsModalTrigger.tsx                    |     3 +-
 .../components/SliceHeaderControls/index.tsx       |    18 +-
 .../components/URLShortLinkButton/index.tsx        |    16 +-
 .../src/dashboard/components/dnd/DragDroppable.jsx |     2 +-
 .../src/dashboard/components/dnd/DragHandle.tsx    |     2 +-
 .../components/filterscope/FilterScope.test.tsx    |     2 +-
 .../components/filterscope/FilterScopeModal.tsx    |     2 +-
 .../components/filterscope/FilterScopeSelector.jsx |     3 +-
 .../filterscope/renderFilterScopeTreeNodes.jsx     |     2 +-
 .../components/gridComponents/Chart/Chart.jsx      |   212 +-
 .../components/gridComponents/Chart/Chart.test.jsx |   154 +
 .../gridComponents/ChartHolder/ChartHolder.tsx     |     4 +-
 .../components/gridComponents/Column/Column.jsx    |     3 +-
 .../components/gridComponents/Divider/Divider.jsx  |     2 +-
 .../Header/{Header.test.jsx => Header.test.tsx}    |    60 +-
 .../Header/{Header.jsx => Header.tsx}              |   123 +-
 .../gridComponents/Header/{index.js => index.ts}   |     0
 .../gridComponents/Markdown/Markdown.jsx           |    16 +-
 .../gridComponents/Markdown/Markdown.test.jsx      |   338 -
 .../gridComponents/Markdown/Markdown.test.tsx      |   436 +
 .../Row/{Row.test.jsx => Row.test.tsx}             |   168 +-
 .../gridComponents/Row/{Row.jsx => Row.tsx}        |   121 +-
 .../components/gridComponents/Row}/index.ts        |     2 +-
 .../components/gridComponents/Tab/Tab.jsx          |    54 +-
 .../components/gridComponents/Tab/Tab.test.tsx     |    97 +-
 .../components/gridComponents/Tabs/Tabs.jsx        |    73 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |   201 +-
 .../gridComponents/new/DraggableNewComponent.tsx   |     2 +-
 .../new/{NewRow.test.jsx => NewRow.test.tsx}       |     6 +-
 .../gridComponents/new/{NewRow.jsx => NewRow.tsx}  |    23 +-
 .../components/menu/BackgroundStyleDropdown.tsx    |     3 +-
 .../src/dashboard/components/menu/HoverMenu.tsx    |     2 +-
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |   115 +
 .../components/menu/ShareMenuItems/index.tsx       |    93 +-
 .../components/menu/WithPopoverMenu.test.jsx       |    80 +-
 .../dashboard/components/menu/WithPopoverMenu.tsx  |    72 +-
 .../ChartCustomization/ChartCustomizationForm.tsx  |  1457 +++
 .../ChartCustomization/ChartCustomizationModal.tsx |   700 +
 .../ChartCustomizationTitleContainer.tsx           |   184 +
 .../ChartCustomizationTitlePane.tsx                |   124 +
 .../ChartCustomization/GroupByFilterCard.tsx       |   641 +
 .../ChartCustomization/groupBySelectors.ts         |   262 +
 .../selectors.ts}                                  |    39 +-
 .../nativeFilters/ChartCustomization/types.ts      |    90 +
 .../useChartCustomizationModal.tsx                 |    52 +
 .../nativeFilters/ChartCustomization/utils.ts      |    63 +
 .../nativeFilters/ConfigModal/BaseConfigModal.tsx  |   148 +
 .../nativeFilters/ConfigModal/ModalFooter.tsx      |   187 +
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |   110 +
 .../FilterBar/ActionButtons/index.tsx              |    41 +-
 .../FilterBar/CrossFilters/CrossFilter.tsx         |     5 +-
 .../FilterBar/CrossFilters/CrossFilterTag.tsx      |     9 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |     9 +-
 .../ScopingModal/ChartsScopingListPanel.tsx        |     3 +-
 .../ScopingModal/ScopingModalContent.tsx           |     3 +-
 .../CrossFilters/ScopingModal/ScopingTreePanel.tsx |    12 +-
 .../FilterBar/CrossFilters/Vertical.tsx            |    13 +-
 .../FilterBar/CrossFilters/VerticalCollapse.tsx    |   116 +-
 .../FilterBar/CrossFilters/selectors.ts            |     4 +
 .../nativeFilters/FilterBar/CrossFilters/styles.ts |     2 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |     4 +-
 .../FilterBarSettings/FilterBarSettings.test.tsx   |    20 +-
 .../FilterBar/FilterBarSettings/index.tsx          |    36 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |    11 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |   221 +-
 .../FilterControls/FilterDivider.stories.tsx       |     2 +-
 .../FilterBar/FilterControls/FilterDivider.tsx     |     8 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    18 +-
 .../FilterBar/FilterControls/utils.ts              |    13 +
 .../FilterBar/FiltersDropdownContent/index.tsx     |     3 +-
 .../FiltersOutOfScopeCollapsible/index.tsx         |     3 +-
 .../nativeFilters/FilterBar/Header/Header.test.tsx |     4 +-
 .../nativeFilters/FilterBar/Header/index.tsx       |     5 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |    15 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |   124 +-
 .../components/nativeFilters/FilterBar/index.tsx   |   219 +-
 .../components/nativeFilters/FilterBar/utils.ts    |    43 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |     3 +-
 .../nativeFilters/FilterCard/NameRow.tsx           |     3 +-
 .../nativeFilters/FilterCard/ScopeRow.tsx          |     3 +-
 .../components/nativeFilters/FilterCard/Styles.ts  |     2 +-
 .../FilterCard/useFilterDependencies.ts            |    33 +-
 .../FiltersConfigModal/DividerConfigForm.tsx       |     3 +-
 .../FiltersConfigModal/DraggableFilter.tsx         |     2 +-
 .../FiltersConfigModal/FilterConfigurePane.tsx     |     3 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |     3 +-
 .../FiltersConfigModal/FilterTitlePane.tsx         |     3 +-
 .../FiltersConfigForm/CollapsibleControl.tsx       |     4 +-
 .../FiltersConfigForm/DatasetSelect.test.tsx       |   267 +
 .../FiltersConfigForm/DatasetSelect.tsx            |   107 +-
 .../FiltersConfigForm/DependencyList.tsx           |    27 +-
 .../FiltersConfigForm/FilterScope/FilterScope.tsx  |     3 +-
 .../FiltersConfigForm/FilterScope/ScopingTree.tsx  |     3 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    12 +-
 .../FiltersConfigForm/RemovedFilter.tsx            |     3 +-
 .../FiltersConfigForm/getControlItemsMap.tsx       |     8 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |   166 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |   145 +-
 .../Footer/CancelConfirmationAlert.tsx             |     7 +-
 .../components/nativeFilters/state.test.ts         |   294 +-
 .../dashboard/components/nativeFilters/state.ts    |    29 +-
 .../components/resizable/ResizableContainer.tsx    |     2 +-
 .../src/dashboard/containers/Dashboard.ts          |     2 +
 .../dashboard/containers/DashboardComponent.jsx    |     6 +
 .../src/dashboard/containers/DashboardPage.tsx     |    10 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |     2 +-
 .../src/dashboard/reducers/dashboardInfo.js        |    99 +
 .../src/dashboard/reducers/dashboardState.js       |    61 +-
 .../src/dashboard/reducers/dashboardState.test.js  |    78 +
 .../src/dashboard/reducers/dashboardState.test.ts  |    10 +-
 .../dashboard/reducers/groupByCustomizations.ts    |   198 +
 .../src/dashboard/reducers/nativeFilters.test.ts   |   162 +
 .../src/dashboard/reducers/nativeFilters.ts        |    49 +-
 superset-frontend/src/dashboard/styles.ts          |     2 +-
 superset-frontend/src/dashboard/types.ts           |    13 +
 .../dashboard/types/chartState.ts}                 |    32 +-
 .../src/dashboard/util/chartStateConverter.ts      |   165 +
 .../dashboard/util/charts/chartTypeLimitations.ts  |   128 +
 .../util/charts/getFormDataWithExtraFilters.ts     |   367 +-
 .../dashboard/util/charts/useAllChartIds.ts}       |    22 +-
 .../util/getChartIdsFromComponent.ts}              |    39 +-
 .../src/dashboard/util/getRelatedCharts.ts         |    31 +
 .../src/dashboard/util/permissionUtils.test.ts     |     2 +-
 .../util/useFilterFocusHighlightStyles.ts          |    55 +-
 superset-frontend/src/dataMask/actions.ts          |    14 +
 superset-frontend/src/dataMask/reducer.ts          |    47 +
 .../src/embedded/EmbeddedContextProviders.tsx      |     2 +-
 superset-frontend/src/embedded/api.tsx             |    34 +-
 superset-frontend/src/embedded/index.tsx           |    46 +-
 superset-frontend/src/embedded/utils.test.ts       |   228 +-
 superset-frontend/src/embedded/utils.ts            |   133 +-
 .../src/explore/components/ChartPills.tsx          |     3 +-
 .../src/explore/components/Control.tsx             |     8 +-
 .../src/explore/components/ControlHeader.tsx       |     5 +-
 .../explore/components/ControlPanelsContainer.tsx  |   265 +-
 .../explore/components/DataTableControl/index.tsx  |     4 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |     3 +-
 .../components/DataTableControls.tsx               |     2 +-
 .../components/ResultsPaneOnDashboard.tsx          |     3 +-
 .../DataTablesPane/components/SamplesPane.tsx      |     3 +-
 .../DataTablesPane/components/useResultsPane.tsx   |     2 +-
 .../DatasourcePanelDragOption/index.tsx            |     3 +-
 .../DatasourcePanel/DatasourcePanelItem.tsx        |     9 +-
 .../explore/components/DatasourcePanel/index.tsx   |    13 +-
 .../src/explore/components/EmbedCodeContent.jsx    |     3 +-
 .../src/explore/components/ExploreAlert.tsx        |     2 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   354 +-
 .../components/ExploreChartHeader/index.jsx        |    14 +-
 .../explore/components/ExploreChartPanel/index.tsx |     5 +-
 .../explore/components/ExploreContainer/index.tsx  |     2 +-
 .../explore/components/ExploreContentPopover.tsx   |     2 +-
 .../components/ExploreViewContainer/index.jsx      |    43 +-
 .../components/ExportToCSVDropdown/index.tsx       |     3 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |   107 +-
 .../explore/components/PropertiesModal/index.tsx   |    45 +-
 .../explore/components/RunQueryButton/index.tsx    |     3 +-
 .../src/explore/components/SaveModal.test.jsx      |   114 +
 .../src/explore/components/SaveModal.tsx           |    15 +-
 .../AnnotationLayerControl/AnnotationLayer.jsx     |     9 +-
 .../controls/AnnotationLayerControl/index.tsx      |     3 +-
 .../explore/components/controls/BoundsControl.tsx  |     3 +-
 .../components/controls/CheckboxControl.jsx        |     2 +-
 .../controls/CollectionControl/index.jsx           |     3 +-
 .../ColorBreakpointOption.tsx                      |     2 +-
 .../ColorBreakpointPopoverControl.tsx              |     3 +-
 .../controls/ColorBreakpointsControl/index.tsx     |     3 +-
 .../ColorSchemeControl/ColorSchemeLabel.tsx        |     2 +-
 .../controls/ColorSchemeControl/index.tsx          |     3 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |     3 +-
 .../ColumnConfigControl/ColumnConfigItem.tsx       |     4 +-
 .../ControlForm/ControlFormItem.tsx                |     3 +-
 .../ColumnConfigControl/ControlForm/index.tsx      |     3 +-
 .../components/controls/ComparisonRangeLabel.tsx   |     5 +-
 .../ConditionalFormattingControl.tsx               |     5 +-
 .../FormattingPopover.tsx                          |     2 +
 .../FormattingPopoverContent.test.tsx              |   112 +
 .../FormattingPopoverContent.tsx                   |   173 +-
 .../controls/ConditionalFormattingControl/types.ts |    10 +
 .../controls/ContourControl/ContourOption.tsx      |     5 +-
 .../ContourControl/ContourPopoverControl.tsx       |     3 +-
 .../components/controls/ContourControl/index.tsx   |     3 +-
 .../controls/ControlPopover/ControlPopover.tsx     |    49 +-
 .../controls/CurrencyControl/CurrencyControl.tsx   |     3 +-
 .../components/controls/CustomListItem/index.tsx   |     2 +-
 .../DatasourceControl/DatasourceControl.test.jsx   |   170 -
 .../DatasourceControl/DatasourceControl.test.tsx   |   183 +-
 .../controls/DatasourceControl/index.jsx           |    13 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |     5 +-
 .../components/DateFunctionTooltip.tsx             |     3 +-
 .../DateFilterControl/components/DateLabel.tsx     |     3 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |     4 +-
 .../DndColumnSelectPopoverTitle.jsx                |     3 +-
 .../controls/DndColumnSelectControl/Option.tsx     |     3 +-
 .../DndColumnSelectControl/OptionWrapper.tsx       |     3 +-
 .../FilterControl/AdhocFilterControl/index.jsx     |     9 +-
 .../FilterControl/AdhocFilterEditPopover/index.jsx |     3 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |   752 +-
 .../index.tsx                                      |    63 +-
 .../useAdvancedDataTypes.ts                        |    33 +-
 .../AdhocFilterEditPopoverSqlTabContent/index.tsx  |     7 +-
 .../controls/LayerConfigsControl/FlatLayerTree.tsx |     3 +-
 .../LayerConfigsControl/LayerConfigsControl.tsx    |     3 +-
 .../LayerConfigsPopoverContent.tsx                 |    13 +-
 .../controls/MapViewControl/MapViewControl.tsx     |     3 +-
 .../MapViewControl/MapViewPopoverContent.tsx       |     3 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |     9 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |     3 +-
 .../components/controls/NumberControl/index.tsx    |     2 +-
 .../components/controls/OptionControls/index.tsx   |     3 +-
 .../controls/SelectAsyncControl/index.tsx          |     2 +-
 .../explore/components/controls/SelectControl.jsx  |     3 +-
 .../components/controls/TextAreaControl.jsx        |     8 +-
 .../controls/TimeSeriesColumnControl/index.jsx     |     3 +-
 .../explore/components/controls/ViewQuery.test.tsx |    26 +
 .../src/explore/components/controls/ViewQuery.tsx  |    11 +-
 .../components/controls/ViewQueryModal.test.tsx    |   108 +
 .../explore/components/controls/ViewQueryModal.tsx |    35 +-
 .../controls/VizTypeControl/FastVizSwitcher.tsx    |     2 +-
 .../components/controls/VizTypeControl/VizTile.tsx |     3 +-
 .../VizTypeControl/VizTypeControl.test.jsx         |   131 -
 .../controls/VizTypeControl/VizTypeGallery.tsx     |    10 +-
 .../controls/VizTypeControl/constants.tsx          |     3 +-
 .../components/controls/VizTypeControl/index.tsx   |     9 +-
 .../ZoomConfigControl/ZoomConfigControl.tsx        |     3 +-
 .../components/controls/ZoomConfigControl/types.ts |     4 +
 .../controls/ZoomConfigControl/zoomUtil.ts         |    14 +-
 .../src/explore/components/optionRenderers.tsx     |     2 +-
 .../DashboardsSubMenu.tsx                          |     3 +-
 .../useExploreAdditionalActionsMenu/index.jsx      |   419 +-
 .../src/explore/controlUtils/getControlState.ts    |    10 +-
 .../controlUtils/standardizedFormData.test.ts      |    86 +-
 .../explore/controlUtils/standardizedFormData.ts   |     6 +
 .../src/explore/exploreUtils/index.js              |    14 +-
 .../src/explore/reducers/exploreReducer.js         |     2 +-
 .../src/extensions/ExtensionsList.tsx              |     3 +-
 .../src/extensions/ExtensionsManager.ts            |    10 +-
 .../src/extensions/ExtensionsStartup.test.tsx      |   169 +-
 .../src/extensions/ExtensionsStartup.tsx           |    17 +-
 .../src/features/alerts/AlertReportModal.tsx       |    13 +-
 .../features/alerts/buildErrorTooltipMessage.tsx   |     2 +-
 .../alerts/components/AlertReportCronScheduler.tsx |     3 +-
 .../features/alerts/components/AlertStatusIcon.tsx |     3 +-
 .../alerts/components/NotificationMethod.tsx       |     3 +-
 .../features/alerts/components/RecipientIcon.tsx   |     7 +-
 superset-frontend/src/features/alerts/types.ts     |     2 +-
 .../src/features/allEntities/AllEntitiesTable.tsx  |     3 +-
 .../annotationLayers/AnnotationLayerModal.tsx      |     3 +-
 .../src/features/annotations/AnnotationModal.tsx   |     3 +-
 .../src/features/charts/ChartCard.tsx              |     3 +-
 .../src/features/cssTemplates/CssTemplateModal.tsx |     5 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |     3 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |     3 +-
 .../DatabaseConnectionForm/TableCatalog.tsx        |     3 +-
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |     2 +-
 .../databases/DatabaseModal/ExtraOptions.test.tsx  |    17 +
 .../databases/DatabaseModal/ExtraOptions.tsx       |    32 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |     3 +-
 .../databases/DatabaseModal/SSHTunnelSwitch.tsx    |     8 +-
 .../databases/DatabaseModal/SqlAlchemyForm.tsx     |     7 +-
 .../databases/DatabaseModal/index.test.tsx         |    72 +
 .../src/features/databases/DatabaseModal/index.tsx |    56 +-
 .../src/features/databases/DatabaseModal/styles.ts |     6 +-
 .../databases/UploadDataModel/ColumnsPreview.tsx   |     3 +-
 .../features/databases/UploadDataModel/index.tsx   |     8 +-
 .../features/databases/UploadDataModel/styles.ts   |     2 +-
 .../AddDataset/DatasetPanel/DatasetPanel.test.tsx  |     6 +-
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |     9 +-
 .../AddDataset/DatasetPanel/MessageContent.tsx     |     3 +-
 .../datasets/AddDataset/EditDataset/index.tsx      |     3 +-
 .../features/datasets/AddDataset/Footer/index.tsx  |     3 +-
 .../datasets/AddDataset/LeftPanel/index.tsx        |     3 +-
 .../datasets/DatasetLayout/DatasetLayout.test.tsx  |    69 +
 .../src/features/datasets/DatasetLayout/index.tsx  |     2 +-
 .../features/datasets/DatasetSelectLabel/index.tsx |     3 +-
 .../datasets/hooks/useDatasetLists.test.ts         |   392 +
 .../src/features/datasets/hooks/useDatasetLists.ts |     3 +-
 .../DatasetMetadataBar.skipped-stories.tsx         |     3 +-
 .../datasets/metadataBar/useDatasetMetadataBar.tsx |     3 +-
 superset-frontend/src/features/datasets/styles.ts  |     5 +-
 .../src/features/home/ActivityTable.tsx            |     7 +-
 .../src/features/home/ChartTable.test.tsx          |    65 +-
 superset-frontend/src/features/home/ChartTable.tsx |    13 +-
 .../src/features/home/DashboardTable.test.tsx      |    59 +-
 .../src/features/home/DashboardTable.tsx           |    13 +-
 superset-frontend/src/features/home/EmptyState.tsx |    30 +-
 .../src/features/home/LanguagePicker.tsx           |     3 +-
 superset-frontend/src/features/home/Menu.test.tsx  |     2 +-
 superset-frontend/src/features/home/Menu.tsx       |   381 +-
 .../src/features/home/RightMenu.test.tsx           |    44 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    38 +-
 .../src/features/home/SavedQueries.tsx             |     3 +-
 superset-frontend/src/features/home/SubMenu.tsx    |     9 +-
 .../src/features/home/commonMenuData.ts            |     5 +
 .../src/features/queries/QueryPreviewModal.tsx     |     3 +-
 .../features/queries/SavedQueryPreviewModal.tsx    |     3 +-
 .../src/features/queries/SyntaxHighlighterCopy.tsx |     3 +-
 .../ReportModal/HeaderReportDropdown/index.tsx     |     3 +-
 .../src/features/reports/ReportModal/index.tsx     |     9 +-
 .../src/features/reports/ReportModal/styles.tsx    |     2 +-
 .../src/features/rls/RowLevelSecurityModal.tsx     |     3 +-
 .../src/features/roles/RoleListEditModal.test.tsx  |     8 +-
 .../src/features/roles/RoleListEditModal.tsx       |     1 -
 .../src/features/tags/BulkTagModal.tsx             |     3 +-
 superset-frontend/src/features/tags/TagModal.tsx   |     3 +-
 .../src/features/themes/ThemeModal.test.tsx        |   698 +-
 .../src/features/themes/ThemeModal.tsx             |   349 +-
 superset-frontend/src/features/users/utils.ts      |     2 +-
 .../filters/components/Range/RangeFilterPlugin.tsx |     4 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |   296 +
 .../components/Select/SelectFilterPlugin.tsx       |    45 +-
 .../filters/components/Time/TimeFilterPlugin.tsx   |     7 +-
 superset-frontend/src/filters/components/common.ts |     2 +-
 .../src/hooks/apiResources/datasets.test.ts        |   449 +
 .../src/hooks/apiResources/queries.ts              |     1 +
 .../src/hooks/useBeforeUnload/index.ts             |    43 +
 .../hooks/useBeforeUnload/useBeforeUnload.test.ts  |   156 +
 .../src/hooks/useConfirmModal/index.tsx            |    78 +
 .../hooks/useConfirmModal/useConfirmModal.test.tsx |   196 +
 superset-frontend/src/hooks/useJsonTreeTheme.ts    |     2 +-
 .../src/hooks/useThemeMenuItems.test.tsx           |    42 +-
 superset-frontend/src/hooks/useThemeMenuItems.tsx  |    32 +-
 .../src/hooks/useUnsavedChangesPrompt/index.ts     |    28 +-
 .../useUnsavedChangesPrompt.test.tsx               |   219 +-
 superset-frontend/src/logger/LogUtils.ts           |     2 +
 superset-frontend/src/pages/ActionLog/index.tsx    |     3 +-
 .../pages/AlertReportList/AlertReportList.test.jsx |    30 +-
 .../src/pages/AlertReportList/index.tsx            |     3 +-
 superset-frontend/src/pages/AllEntities/index.tsx  |     3 +-
 .../AnnotationLayerList.test.jsx                   |     2 +-
 .../src/pages/AnnotationList/index.tsx             |     9 +-
 superset-frontend/src/pages/Chart/index.tsx        |     1 +
 .../src/pages/ChartCreation/ChartCreation.test.tsx |     2 +-
 .../src/pages/ChartCreation/index.tsx              |    14 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |  1499 ++-
 .../pages/ChartList/ChartList.permissions.test.tsx |    20 +-
 superset-frontend/src/pages/ChartList/index.tsx    |    15 +-
 .../pages/CssTemplateList/CssTemplateList.test.jsx |     2 +-
 .../src/pages/DashboardList/DashboardList.test.jsx |     2 +-
 .../src/pages/DashboardList/index.tsx              |    15 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |    23 +-
 .../src/pages/DatasetCreation/index.tsx            |     2 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |    28 +-
 .../ExecutionLogList/ExecutionLogList.test.tsx     |     2 +-
 .../src/pages/ExecutionLogList/index.tsx           |     3 +-
 .../src/pages/GroupsList/GroupsList.test.tsx       |     8 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |    10 +-
 superset-frontend/src/pages/Home/index.tsx         |     4 +-
 superset-frontend/src/pages/Login/index.tsx        |    31 +-
 .../src/pages/QueryHistoryList/index.tsx           |    10 +-
 superset-frontend/src/pages/Register/index.tsx     |     3 +-
 .../src/pages/RolesList/RolesList.test.tsx         |    10 +-
 .../RowLevelSecurityList.test.tsx                  |    12 +-
 .../pages/SavedQueryList/SavedQueryList.test.tsx   |     2 +-
 .../src/pages/SavedQueryList/index.tsx             |    30 +-
 .../src/pages/SqlLab/LocationContext.tsx           |    14 +-
 superset-frontend/src/pages/SqlLab/index.tsx       |     3 +-
 .../src/pages/ThemeList/ThemeList.test.tsx         |   594 +-
 .../src/pages/ThemeList/index.test.tsx             |   288 -
 superset-frontend/src/pages/ThemeList/index.tsx    |   223 +-
 superset-frontend/src/pages/UserInfo/index.tsx     |     3 +-
 .../UserRegistrations/UserRegistrations.test.tsx   |     2 +-
 .../src/pages/UsersList/UsersList.test.tsx         |    18 +-
 superset-frontend/src/preamble.ts                  |    11 +-
 superset-frontend/src/setup/setupPlugins.ts        |     5 +
 superset-frontend/src/theme/ThemeController.ts     |   124 +-
 superset-frontend/src/theme/ThemeProvider.tsx      |    10 +-
 .../src/theme/tests/ThemeController.test.ts        |  2226 ++--
 .../src/theme/tests/ThemeProvider.test.tsx         |     6 +-
 superset-frontend/src/types/bootstrapTypes.ts      |     4 +-
 .../src/utils/cachedSupersetGet.test.ts            |   190 +
 superset-frontend/src/utils/cachedSupersetGet.ts   |    56 +
 .../{downloadAsImage.ts => downloadAsImage.tsx}    |    44 +-
 superset-frontend/src/utils/export.test.ts         |   398 +
 superset-frontend/src/utils/export.ts              |    92 +-
 .../src/utils/getControlsForVizType.ts             |    12 +
 superset-frontend/src/utils/pathUtils.test.ts      |   160 +
 superset-frontend/src/utils/pathUtils.ts           |    16 +
 superset-frontend/src/utils/urlUtils.test.ts       |    52 +-
 superset-frontend/src/utils/urlUtils.ts            |    22 +-
 superset-frontend/src/views/App.tsx                |     2 +-
 superset-frontend/src/views/CRUD/utils.tsx         |     2 +-
 superset-frontend/src/views/menu.tsx               |     2 +-
 superset-frontend/src/views/store.ts               |     2 +
 superset-frontend/src/views/types.ts               |     2 +-
 .../visualizations/TimeTable/TimeTable.test.tsx    |    41 +-
 .../src/visualizations/TimeTable/TimeTable.tsx     |     3 +-
 .../components/SparklineCell/SparklineCell.tsx     |     3 +-
 .../config/transformProps/transformProps.test.ts   |     2 +-
 .../src/visualizations/TimeTable/constants.ts      |    15 +-
 .../valueCalculations/valueCalculations.test.ts    |   160 +
 .../utils/valueCalculations/valueCalculations.ts   |    52 +-
 superset-frontend/tsconfig.json                    |    10 +-
 superset-frontend/webpack.config.js                |   221 +-
 superset-frontend/webpack.proxy-config.js          |    21 +-
 superset-websocket/package-lock.json               |  2117 +--
 superset-websocket/package.json                    |    30 +-
 .../utils/client-ws-app/package-lock.json          |   237 +-
 .../utils/client-ws-app/package.json               |     8 +-
 superset/app.py                                    |    16 +
 superset/charts/client_processing.py               |    11 +-
 superset/charts/data/api.py                        |   198 +-
 superset/charts/schemas.py                         |    20 +-
 superset/cli/mcp.py                                |    44 +
 superset/commands/chart/data/get_data_command.py   |     8 +-
 .../chart/data/streaming_export_command.py         |    80 +
 superset/commands/chart/update.py                  |    27 +
 superset/commands/chart/warm_up_cache.py           |   107 +-
 superset/commands/dashboard/permalink/create.py    |    33 +-
 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      |    87 +-
 superset/commands/database/update.py               |    38 +-
 superset/commands/database/uploaders/csv_reader.py |    44 +-
 superset/commands/database/utils.py                |    14 +-
 superset/commands/dataset/export.py                |    10 +-
 superset/commands/dataset/refresh.py               |    18 +
 superset/commands/dataset/update.py                |    35 +-
 superset/commands/explore/form_data/create.py      |     6 +-
 superset/commands/explore/get.py                   |     6 +-
 superset/commands/logs/prune.py                    |    32 +-
 superset/commands/report/alert.py                  |     2 +-
 superset/commands/report/execute.py                |   198 +-
 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         |   843 +-
 superset/common/query_object.py                    |    46 +-
 superset/common/utils/query_cache_manager.py       |     2 +
 superset/config.py                                 |    94 +-
 superset/connectors/sqla/models.py                 |   287 +-
 superset/core/api/core_api_injection.py            |   180 +
 superset/core/api/types/models.py                  |    72 -
 superset/core/{api/types => mcp}/__init__.py       |     0
 superset/core/mcp/core_mcp_injection.py            |   225 +
 superset/daos/base.py                              |    25 +-
 superset/daos/database.py                          |   123 +-
 superset/dashboards/api.py                         |   189 +-
 superset/dashboards/permalink/schemas.py           |    10 +
 superset/dashboards/permalink/types.py             |     3 +-
 superset/dashboards/schemas.py                     |     8 +
 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/db_engine_specs/README.md                 |   566 +-
 superset/db_engine_specs/base.py                   |     4 +-
 superset/db_engine_specs/bigquery.py               |     6 +-
 superset/db_engine_specs/clickhouse.py             |     4 +-
 superset/db_engine_specs/databend.py               |     4 +-
 superset/db_engine_specs/db2.py                    |     6 +-
 superset/db_engine_specs/dremio.py                 |     4 +-
 superset/db_engine_specs/drill.py                  |     4 +-
 superset/db_engine_specs/lib.py                    |   374 +-
 .../explorables}/__init__.py                       |     0
 superset/explorables/base.py                       |   373 +
 superset/extensions/metastore_cache.py             |     2 +-
 superset/extensions/ssh.py                         |     6 +-
 superset/initialization/__init__.py                |    38 +-
 superset/jinja_context.py                          |    12 +-
 superset/key_value/models.py                       |     4 +-
 superset/key_value/shared_entries.py               |    57 +-
 superset/key_value/utils.py                        |    85 +-
 superset/mcp_service/ARCHITECTURE.md               |   693 +
 superset/mcp_service/CLAUDE.md                     |   639 +
 superset/mcp_service/PRODUCTION.md                 |  1332 ++
 superset/mcp_service/README.md                     |   236 +
 superset/mcp_service/SECURITY.md                   |   803 ++
 .../types/rest_api.py => mcp_service/__init__.py}  |    35 +-
 superset/mcp_service/__main__.py                   |   132 +
 superset/mcp_service/app.py                        |   388 +
 superset/mcp_service/auth.py                       |   234 +
 superset/mcp_service/bin/superset-mcp.js           |   282 +
 superset/mcp_service/chart/chart_utils.py          |   484 +
 superset/mcp_service/chart/preview_utils.py        |   561 +
 .../mcp_service/chart/prompts}/__init__.py         |     5 +
 .../chart/prompts/create_chart_guided.py           |   193 +
 .../mcp_service/chart/resources}/__init__.py       |     5 +
 .../mcp_service/chart/resources/chart_configs.py   |   362 +
 superset/mcp_service/chart/schemas.py              |  1220 ++
 .../chart/tool/__init__.py}                        |    35 +-
 superset/mcp_service/chart/tool/generate_chart.py  |   503 +
 .../chart/tool/get_chart_available_filters.py      |    50 +
 superset/mcp_service/chart/tool/get_chart_data.py  |   654 +
 superset/mcp_service/chart/tool/get_chart_info.py  |    93 +
 .../mcp_service/chart/tool/get_chart_preview.py    |  2082 +++
 superset/mcp_service/chart/tool/list_charts.py     |   151 +
 superset/mcp_service/chart/tool/update_chart.py    |   253 +
 .../mcp_service/chart/tool/update_chart_preview.py |   168 +
 .../chart/validation}/__init__.py                  |    10 +-
 .../chart/validation/dataset_validator.py          |   329 +
 superset/mcp_service/chart/validation/pipeline.py  |   325 +
 .../chart/validation/runtime/__init__.py           |   185 +
 .../validation/runtime/cardinality_validator.py    |   195 +
 .../validation/runtime/chart_type_suggester.py     |   437 +
 .../chart/validation/runtime/format_validator.py   |   225 +
 .../chart/validation/schema_validator.py           |   307 +
 .../mcp_service/commands}/__init__.py              |     0
 .../commands/create_form_data.py}                  |    20 +-
 .../dialects => mcp_service/common}/__init__.py    |    12 +-
 superset/mcp_service/common/cache_schemas.py       |   143 +
 superset/mcp_service/common/error_schemas.py       |   110 +
 .../mcp_service/dashboard/prompts}/__init__.py     |     5 +
 .../mcp_service/dashboard/resources}/__init__.py   |     5 +
 superset/mcp_service/dashboard/schemas.py          |   525 +
 .../mcp_service/dashboard/tool}/__init__.py        |    18 +-
 .../tool/add_chart_to_existing_dashboard.py        |   282 +
 .../dashboard/tool/generate_dashboard.py           |   241 +
 .../tool/get_dashboard_available_filters.py        |    49 +
 .../dashboard/tool/get_dashboard_info.py           |   101 +
 .../mcp_service/dashboard/tool/list_dashboards.py  |   124 +
 .../mcp_service/dataset/prompts}/__init__.py       |     5 +
 .../mcp_service/dataset/resources}/__init__.py     |     5 +
 superset/mcp_service/dataset/schemas.py            |   381 +
 .../dataset/tool}/__init__.py                      |    12 +-
 .../dataset/tool/get_dataset_available_filters.py  |    49 +
 .../mcp_service/dataset/tool/get_dataset_info.py   |   130 +
 superset/mcp_service/dataset/tool/list_datasets.py |   172 +
 .../mcp_service/docs/tool-search-optimization.md   |   139 +
 .../mcp_service/explore}/__init__.py               |     2 +
 .../explore/tool}/__init__.py                      |    15 +-
 .../explore/tool/generate_explore_link.py          |   128 +
 superset/mcp_service/flask_singleton.py            |    77 +
 superset/mcp_service/index.js                      |    56 +
 superset/mcp_service/mcp_config.py                 |   203 +
 superset/mcp_service/mcp_core.py                   |   506 +
 superset/mcp_service/middleware.py                 |   757 ++
 superset/mcp_service/package.json                  |    35 +
 .../query.py => superset/mcp_service/run_proxy.sh  |    41 +-
 .../screenshot/__init__.py}                        |    26 +-
 .../mcp_service/screenshot/pooled_screenshot.py    |   483 +
 .../mcp_service/screenshot/webdriver_config.py     |   139 +
 superset/mcp_service/screenshot/webdriver_pool.py  |   433 +
 superset/mcp_service/server.py                     |   120 +
 superset/mcp_service/simple_proxy.py               |    82 +
 .../mcp_service/sql_lab}/__init__.py               |     0
 superset/mcp_service/sql_lab/execute_sql_core.py   |   221 +
 superset/mcp_service/sql_lab/schemas.py            |   109 +
 superset/mcp_service/sql_lab/sql_lab_utils.py      |   243 +
 .../sql_lab/tool}/__init__.py                      |    16 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    94 +
 .../sql_lab/tool/open_sql_lab_with_context.py      |   118 +
 .../mcp_service/system}/__init__.py                |     2 +
 .../mcp_service/system/prompts}/__init__.py        |     5 +
 superset/mcp_service/system/prompts/quickstart.py  |   103 +
 .../mcp_service/system/resources}/__init__.py      |     5 +
 .../system/resources/instance_metadata.py          |   107 +
 superset/mcp_service/system/schemas.py             |   157 +
 superset/mcp_service/system/system_utils.py        |   196 +
 .../system/tool}/__init__.py                       |    12 +-
 .../mcp_service/system/tool/get_instance_info.py   |   106 +
 superset/mcp_service/system/tool/health_check.py   |    95 +
 .../dialects => mcp_service/utils}/__init__.py     |    15 +-
 superset/mcp_service/utils/cache_utils.py          |   143 +
 superset/mcp_service/utils/error_builder.py        |   369 +
 superset/mcp_service/utils/permissions_utils.py    |   313 +
 superset/mcp_service/utils/retry_utils.py          |   341 +
 superset/mcp_service/utils/schema_utils.py         |   455 +
 superset/mcp_service/utils/url_utils.py            |   119 +
 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                         |  1108 +-
 superset/models/slice.py                           |     9 +-
 superset/models/sql_lab.py                         |    38 +-
 superset/reports/notifications/email.py            |    10 +-
 superset/result_set.py                             |     2 +-
 superset/security/guest_token.py                   |     1 +
 superset/security/manager.py                       |   154 +-
 superset/sql/dialects/__init__.py                  |     3 +-
 superset/sql/dialects/db2.py                       |   148 +
 superset/sql/dialects/pinot.py                     |    64 +
 superset/sql/parse.py                              |    88 +-
 superset/sql_lab.py                                |    55 +-
 superset/sqllab/api.py                             |   146 +-
 superset/sqllab/schemas.py                         |     8 +
 superset/superset_typing.py                        |   286 +-
 superset/tags/api.py                               |     1 -
 superset/tags/filters.py                           |     4 +-
 superset/tags/models.py                            |     6 +-
 superset/tasks/scheduler.py                        |    36 +-
 superset/tasks/slack.py                            |    21 +-
 superset/templates/superset/spa.html               |    29 +-
 superset/themes/api.py                             |    12 +-
 superset/themes/schemas.py                         |    51 +-
 superset/themes/utils.py                           |    63 +
 superset/thumbnails/digest.py                      |    13 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/de/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/en/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   212 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/it/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/messages.pot                 |     8 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |     8 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |     8 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |  2175 ++--
 superset/translations/sk/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |     8 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |     8 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |     8 +-
 superset/utils/cache.py                            |    26 +-
 superset/utils/core.py                             |    44 +-
 superset/utils/date_parser.py                      |    18 +-
 superset/utils/hashing.py                          |    71 +-
 superset/utils/log.py                              |    19 +-
 superset/utils/pandas_postprocessing/histogram.py  |     5 +
 superset/utils/rls.py                              |    53 +-
 superset/utils/screenshot_utils.py                 |    72 +-
 superset/utils/screenshots.py                      |    27 +-
 superset/utils/slack.py                            |    63 +-
 superset/utils/ssh_tunnel.py                       |    23 +-
 superset/utils/urls.py                             |    19 +-
 superset/utils/webdriver.py                        |    39 +-
 superset/views/base.py                             |     1 +
 superset/views/core.py                             |    32 +-
 superset/views/custom_tags_api_mixin.py            |   105 +
 superset/views/error_handling.py                   |    17 +-
 superset/views/log/api.py                          |     6 +-
 superset/views/utils.py                            |    47 +-
 superset/viz.py                                    |     9 +-
 superset_text.yml                                  |     2 +-
 tests/integration_tests/charts/commands_tests.py   |   209 +-
 tests/integration_tests/charts/data/api_tests.py   |   117 +-
 tests/integration_tests/commands_test.py           |     4 +-
 tests/integration_tests/dashboard_tests.py         |    74 +-
 tests/integration_tests/dashboards/api_tests.py    |   105 +
 .../dashboards/security/security_rbac_tests.py     |     8 +-
 .../dashboards/superset_factory_util.py            |     2 +
 tests/integration_tests/databases/api_tests.py     |   116 +-
 .../integration_tests/databases/commands_tests.py  |    15 +-
 .../ssh_tunnel/commands/commands_tests.py          |    58 -
 tests/integration_tests/datasets/commands_tests.py |     3 +
 .../db_engine_specs/bigquery_tests.py              |     7 +-
 tests/integration_tests/event_logger_tests.py      |    24 +
 tests/integration_tests/query_context_tests.py     |   124 +-
 .../commands/execute_dashboard_report_tests.py     |    41 +-
 tests/integration_tests/reports/scheduler_tests.py |    49 +-
 .../security/row_level_security_tests.py           |    99 +
 tests/integration_tests/security_tests.py          |     2 +
 tests/integration_tests/sql_lab/api_tests.py       |    19 +
 .../sql_lab/test_execute_sql_statements.py         |   124 +
 tests/integration_tests/sqla_models_tests.py       |   149 +-
 tests/integration_tests/superset_test_config.py    |     4 +
 tests/integration_tests/tags/api_tests.py          |    86 +
 .../tags/mysql_compatibility_test.py               |   285 +
 .../test_subdirectory_deployments.py               |   101 +
 tests/integration_tests/themes/api_tests.py        |   122 +
 tests/integration_tests/thumbnails_tests.py        |     3 +-
 tests/integration_tests/utils/core_tests.py        |    24 +-
 tests/integration_tests/utils/hashing_tests.py     |   210 +-
 tests/integration_tests/utils_tests.py             |    24 +-
 tests/integration_tests/viz_tests.py               |    17 +-
 .../unit_tests/charts/commands/data}/__init__.py   |     0
 .../charts/commands/data/test_get_data_command.py  |   325 +
 tests/unit_tests/charts/test_client_processing.py  |   135 +
 .../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          |    92 +
 .../commands/databases/sync_permissions_test.py    |    11 +-
 tests/unit_tests/commands/dataset/update_test.py   |    99 +
 .../unit_tests/commands/explore}/__init__.py       |     0
 .../commands/explore/form_data}/__init__.py        |     0
 .../commands/explore/form_data/test_create.py      |    85 +
 tests/unit_tests/commands/report/execute_test.py   |     6 +
 .../unit_tests/commands/sql_lab}/__init__.py       |     0
 .../sql_lab/streaming_export_command_test.py       |   540 +
 .../common/test_query_context_processor.py         |   865 +-
 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 +
 .../unit_tests/db_engine_specs/test_clickhouse.py  |     5 +-
 tests/unit_tests/db_engine_specs/test_databend.py  |     5 +-
 tests/unit_tests/db_engine_specs/test_db2.py       |    70 +
 tests/unit_tests/db_engine_specs/test_drill.py     |     5 +-
 tests/unit_tests/db_engine_specs/test_oracle.py    |     3 +-
 tests/unit_tests/jinja_context_test.py             |    73 +
 .../key_value/test_shared_entries_migration.py     |   135 +
 tests/unit_tests/key_value/utils_test.py           |   155 +-
 .../unit_tests/mcp_service/chart}/__init__.py      |     0
 .../mcp_service/chart/test_chart_schemas.py        |   168 +
 .../mcp_service/chart/test_chart_utils.py          |   479 +
 .../unit_tests/mcp_service/chart/tool}/__init__.py |     0
 .../mcp_service/chart/tool/test_generate_chart.py  |   268 +
 .../chart/tool/test_get_chart_preview.py           |   290 +
 .../mcp_service/chart/tool/test_list_charts.py     |   172 +
 .../mcp_service/chart/tool/test_update_chart.py    |   385 +
 .../chart/tool/test_update_chart_preview.py        |   474 +
 .../unit_tests/mcp_service/common}/__init__.py     |     0
 .../unit_tests/mcp_service/conftest.py             |     7 +
 .../unit_tests/mcp_service/dashboard}/__init__.py  |     0
 .../mcp_service/dashboard/tool}/__init__.py        |     0
 .../dashboard/tool/test_dashboard_generation.py    |   465 +
 .../dashboard/tool/test_dashboard_tools.py         |   573 +
 .../unit_tests/mcp_service/dataset}/__init__.py    |     0
 .../mcp_service/dataset/tool}/__init__.py          |     0
 .../mcp_service/dataset/tool/test_dataset_tools.py |  1231 ++
 .../unit_tests/mcp_service/explore}/__init__.py    |     0
 .../mcp_service/explore/tool}/__init__.py          |     0
 .../explore/tool/test_generate_explore_link.py     |   591 +
 .../unit_tests/mcp_service/sql_lab}/__init__.py    |     0
 .../mcp_service/sql_lab/test_execute_sql_helper.py |    64 +
 .../mcp_service/sql_lab/tool}/__init__.py          |     0
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |   497 +
 .../mcp_service/system/tool}/__init__.py           |     0
 .../mcp_service/system/tool/test_health_check.py   |    55 +
 .../mcp_service/system/tool/test_mcp_core.py       |   204 +
 tests/unit_tests/mcp_service/test_mcp_config.py    |   137 +
 .../mcp_service/test_mcp_tool_registration.py      |    51 +
 .../unit_tests/mcp_service/utils}/__init__.py      |     0
 .../mcp_service/utils/test_schema_utils.py         |   515 +
 tests/unit_tests/models/core_test.py               |     2 +-
 tests/unit_tests/models/helpers_test.py            |   905 ++
 tests/unit_tests/models/slice_test.py              |     1 +
 .../models/test_time_filter_double_application.py  |   369 +
 .../pandas_postprocessing/test_histogram.py        |    67 +
 tests/unit_tests/queries/query_object_test.py      |    63 +-
 .../reports/notifications/email_tests.py           |     2 +
 .../reports/notifications/slack_tests.py           |     1 +
 tests/unit_tests/sql/dialects/db2_tests.py         |   246 +
 tests/unit_tests/sql/dialects/pinot_tests.py       |   383 +-
 tests/unit_tests/sql/parse_tests.py                |   102 +-
 tests/unit_tests/sql/transpile_to_dialect_test.py  |   347 +
 tests/unit_tests/tags/models_test.py               |   263 +
 tests/unit_tests/themes/test_utils.py              |   166 +
 tests/unit_tests/thumbnails/test_digest.py         |    48 +-
 tests/unit_tests/utils/csv_tests.py                |    54 +
 tests/unit_tests/utils/date_parser_tests.py        |    30 +-
 tests/unit_tests/utils/screenshot_test.py          |     8 +-
 tests/unit_tests/utils/test_core.py                |    36 +-
 tests/unit_tests/utils/test_hashing.py             |   183 +
 .../unit_tests/utils/test_screenshot_cache_fix.py  |   410 +
 tests/unit_tests/utils/test_screenshot_utils.py    |   239 +-
 1455 files changed, 103256 insertions(+), 29141 deletions(-)
 create mode 100644 .devcontainer/default/devcontainer.json
 create mode 100644 .devcontainer/devcontainer-base.json
 create mode 100644 .devcontainer/with-mcp/devcontainer.json
 create mode 100644 LINTING_ARCHITECTURE.md
 copy docker/superset-websocket/{config.json => config.example.json} (100%)
 create mode 100644 docs/DOCS_CLAUDE.md
 delete mode 100644 docs/developer_portal/api/frontend.md
 delete mode 100644 docs/developer_portal/architecture/overview.md
 delete mode 100644 docs/developer_portal/cli/overview.md
 create mode 100644 docs/developer_portal/contributing/code-review.md
 create mode 100644 docs/developer_portal/contributing/development-setup.md
 create mode 100644 docs/developer_portal/contributing/guidelines.md
 create mode 100644 docs/developer_portal/contributing/howtos.md
 create mode 100644 docs/developer_portal/contributing/issue-reporting.md
 create mode 100644 docs/developer_portal/contributing/overview.md
 create mode 100644 docs/developer_portal/contributing/release-process.md
 create mode 100644 docs/developer_portal/contributing/resources.md
 create mode 100644 docs/developer_portal/contributing/submitting-pr.md
 delete mode 100644 docs/developer_portal/examples/index.md
 create mode 100644 docs/developer_portal/extensions/architecture.md
 create mode 100644 docs/developer_portal/extensions/contribution-types.md
 create mode 100644 docs/developer_portal/extensions/deployment.md
 create mode 100644 docs/developer_portal/extensions/development.md
 create mode 100644 docs/developer_portal/extensions/extension-points/sqllab.md
 create mode 100644 docs/developer_portal/extensions/mcp.md
 create mode 100644 docs/developer_portal/extensions/overview.md
 create mode 100644 docs/developer_portal/extensions/quick-start.md
 create mode 100644 docs/developer_portal/extensions/registry.md
 create mode 100644 docs/developer_portal/extensions/security.md
 delete mode 100644 docs/developer_portal/getting-started/index.md
 create mode 100644 docs/developer_portal/guidelines/backend-style-guidelines.md
 create mode 100644 docs/developer_portal/guidelines/backend/dao-style-guidelines.md
 create mode 100644 docs/developer_portal/guidelines/design-guidelines.md
 create mode 100644 docs/developer_portal/guidelines/frontend-style-guidelines.md
 create mode 100644 docs/developer_portal/guidelines/frontend/component-style-guidelines.md
 create mode 100644 docs/developer_portal/guidelines/frontend/emotion-styling-guidelines.md
 create mode 100644 docs/developer_portal/guidelines/frontend/testing-guidelines.md
 create mode 100644 docs/developer_portal/testing/backend-testing.md
 create mode 100644 docs/developer_portal/testing/ci-cd.md
 create mode 100644 docs/developer_portal/testing/e2e-testing.md
 create mode 100644 docs/developer_portal/testing/frontend-testing.md
 create mode 100644 docs/developer_portal/testing/overview.md
 create mode 100644 docs/docs/contributing/pkg-resources-migration.md
 create mode 100644 docs/docs/security/securing_superset.mdx
 create mode 100644 docs/static/img/extensions/api_explorer.png
 create mode 100644 docs/static/img/extensions/sql_flow_visualizer.png
 create mode 100644 docs/static/img/superset-logo-icon-only.png
 copy scripts/{eslint.sh => check-custom-rules.sh} (66%)
 copy scripts/{eslint.sh => oxlint.sh} (61%)
 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/rest_api.py
 create mode 100644 superset-core/src/superset_core/mcp/__init__.py
 copy docs/static/.nojekyll => superset-extensions-cli/src/superset_extensions_cli/templates/backend/src/package/__init__.py.j2 (100%)
 create mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/backend/src/package/entrypoint.py.j2
 create mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/frontend/src/index.tsx.j2
 create mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/frontend/tsconfig.json.j2
 create mode 100644 superset-extensions-cli/src/superset_extensions_cli/templates/frontend/webpack.config.js.j2
 create mode 100644 superset-frontend/.eslintrc.minimal.js
 create mode 100644 superset-frontend/.swcrc
 create mode 100644 superset-frontend/LINTING.md
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/auth/login.test.ts
 create mode 100644 superset-frontend/oxlint.json
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/components/Alert/Alert.stories.tsx (81%)
 rename superset-frontend/packages/{superset-ui-core/src/components/Alert/types.ts => superset-core/src/ui/components/Alert/Alert.test.tsx} (78%)
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/components/Alert/index.tsx (50%)
 copy superset-frontend/{src/dashboard/components/gridComponents/Row/index.js => packages/superset-core/src/ui/components/index.ts} (94%)
 copy superset-frontend/packages/superset-core/src/{ => ui}/index.ts (93%)
 copy superset-frontend/packages/{superset-ui-core/src/spec/index.tsx => superset-core/src/ui/testing.tsx} (88%)
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/GlobalStyles.tsx (100%)
 create mode 100644 superset-frontend/packages/superset-core/src/ui/theme/Theme.test.tsx
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/Theme.tsx (98%)
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/exampleThemes.ts (100%)
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/index.tsx (99%)
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/types.ts (92%)
 rename superset-frontend/packages/{superset-ui-core/src/theme/utils.ts => superset-core/src/ui/theme/utils/index.ts} (99%)
 create mode 100644 superset-frontend/packages/superset-core/src/ui/theme/utils/themeUtils.test.ts
 rename superset-frontend/packages/{superset-ui-core/src => superset-core/src/ui}/theme/utils/themeUtils.ts (98%)
 create mode 100644 superset-frontend/packages/superset-core/src/ui/theme/utils/utils.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ActionButton/ActionButton.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ActionButton/index.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ConfirmModal/ConfirmModal.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ConfirmModal/index.tsx
 copy superset-frontend/{src/dashboard/components/nativeFilters/FilterBar/CrossFilters/styles.ts => packages/superset-ui-core/src/components/Progress/index.tsx} (80%)
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/ThemedAgGridReact/setupAGGridModules.test.ts
 delete mode 100644 superset-frontend/packages/superset-ui-core/src/theme/Theme.test.tsx
 delete mode 100644 superset-frontend/packages/superset-ui-core/src/theme/utils.test.ts
 delete mode 100644 superset-frontend/packages/superset-ui-core/src/theme/utils/themeUtils.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/types/AgGrid.ts
 delete mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/themeDecorator.js
 create mode 100644 superset-frontend/packages/superset-ui-demo/.storybook/themeDecorator.jsx
 create mode 100644 superset-frontend/playwright/tests/experimental/README.md
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/CountryMap.css
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/test/CountryMap.test.tsx
 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-ag-grid-table/src/stateConversion.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/buildQuery.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 (97%)
 copy superset-frontend/{src/explore/components => plugins/plugin-chart-word-cloud/src/plugin}/controls/ColorSchemeControl/index.tsx (96%)
 create mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controls/RotationControl.tsx
 copy superset-frontend/{packages/superset-core/src => 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 100755 superset-frontend/scripts/check-custom-rules.js
 create mode 100644 superset-frontend/scripts/oxlint-metrics-uploader.js
 rename superset-frontend/spec/fixtures/{mockDatasource.js => mockDatasource.ts} (79%)
 create mode 100644 superset-frontend/src/SqlLab/components/AppLayout/AppLayout.test.tsx
 create mode 100644 superset-frontend/src/SqlLab/components/AppLayout/index.tsx
 create mode 100644 superset-frontend/src/SqlLab/components/PopEditorTab/PopEditorTab.test.tsx
 create mode 100644 superset-frontend/src/SqlLab/components/PopEditorTab/index.tsx
 rename superset-frontend/src/{dashboard/components/gridComponents/Row/index.js => SqlLab/contributions.ts} (88%)
 delete mode 100644 superset-frontend/src/assets/images/icons/slack.svg
 copy superset-frontend/src/components/{ImportModal => DatabaseSelector}/styles.ts (74%)
 rename superset-frontend/src/components/Datasource/components/DatasourceEditor/tests/{DatasourceEditor.test.jsx => DatasourceEditor.test.tsx} (78%)
 rename superset-frontend/src/components/Datasource/components/DatasourceEditor/tests/{DatasourceEditorCurrency.test.jsx => DatasourceEditorCurrency.test.tsx} (83%)
 rename superset-frontend/src/components/Datasource/components/DatasourceEditor/tests/{DatasourceEditorRTL.test.jsx => DatasourceEditorRTL.test.tsx} (88%)
 delete mode 100644 superset-frontend/src/components/ListView/ListView.test.jsx
 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/validator/validateMaxValue.ts => 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/actions/chartCustomizationActions.ts
 create mode 100644 superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/GroupByBadge/index.tsx
 rename superset-frontend/src/dashboard/components/gridComponents/Header/{Header.test.jsx => Header.test.tsx} (74%)
 rename superset-frontend/src/dashboard/components/gridComponents/Header/{Header.jsx => Header.tsx} (71%)
 rename superset-frontend/src/dashboard/components/gridComponents/Header/{index.js => index.ts} (100%)
 delete mode 100644 superset-frontend/src/dashboard/components/gridComponents/Markdown/Markdown.test.jsx
 create mode 100644 superset-frontend/src/dashboard/components/gridComponents/Markdown/Markdown.test.tsx
 rename superset-frontend/src/dashboard/components/gridComponents/Row/{Row.test.jsx => Row.test.tsx} (69%)
 rename superset-frontend/src/dashboard/components/gridComponents/Row/{Row.jsx => Row.tsx} (80%)
 copy superset-frontend/{packages/superset-core/src => src/dashboard/components/gridComponents/Row}/index.ts (96%)
 rename superset-frontend/src/dashboard/components/gridComponents/new/{NewRow.test.jsx => NewRow.test.tsx} (91%)
 rename superset-frontend/src/dashboard/components/gridComponents/new/{NewRow.jsx => NewRow.tsx} (78%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationForm.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationModal.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationTitleContainer.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationTitlePane.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/GroupByFilterCard.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/groupBySelectors.ts
 copy superset-frontend/src/dashboard/components/nativeFilters/{FilterCard/useFilterDependencies.ts => ChartCustomization/selectors.ts} (51%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/types.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/useChartCustomizationModal.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/utils.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ConfigModal/BaseConfigModal.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ConfigModal/ModalFooter.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/ConfigModal/SharedStyles.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/DatasetSelect.test.tsx
 create mode 100644 superset-frontend/src/dashboard/reducers/groupByCustomizations.ts
 create mode 100644 superset-frontend/src/dashboard/reducers/nativeFilters.test.ts
 copy superset-frontend/{plugins/plugin-chart-table/test/testHelpers.tsx => src/dashboard/types/chartState.ts} (67%)
 create mode 100644 superset-frontend/src/dashboard/util/chartStateConverter.ts
 create mode 100644 superset-frontend/src/dashboard/util/charts/chartTypeLimitations.ts
 copy superset-frontend/{plugins/plugin-chart-echarts/src/Sankey/Sankey.tsx => src/dashboard/util/charts/useAllChartIds.ts} (68%)
 copy superset-frontend/src/{SqlLab/components/QueryTable/styles.ts => dashboard/util/getChartIdsFromComponent.ts} (54%)
 delete mode 100644 superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.jsx
 create mode 100644 superset-frontend/src/explore/components/controls/ViewQueryModal.test.tsx
 delete mode 100644 superset-frontend/src/explore/components/controls/VizTypeControl/VizTypeControl.test.jsx
 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/hooks/useBeforeUnload/index.ts
 create mode 100644 superset-frontend/src/hooks/useBeforeUnload/useBeforeUnload.test.ts
 create mode 100644 superset-frontend/src/hooks/useConfirmModal/index.tsx
 create mode 100644 superset-frontend/src/hooks/useConfirmModal/useConfirmModal.test.tsx
 delete mode 100644 superset-frontend/src/pages/ThemeList/index.test.tsx
 create mode 100644 superset-frontend/src/utils/cachedSupersetGet.test.ts
 rename superset-frontend/src/utils/{downloadAsImage.ts => downloadAsImage.tsx} (85%)
 create mode 100644 superset-frontend/src/utils/export.test.ts
 create mode 100644 superset-frontend/src/utils/pathUtils.test.ts
 create mode 100644 superset/cli/mcp.py
 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
 copy {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
 rename superset/core/{api/types => mcp}/__init__.py (100%)
 create mode 100644 superset/core/mcp/core_mcp_injection.py
 create mode 100644 superset/datasets/datetime_format_detector.py
 copy {superset-core/src/superset_core => superset/explorables}/__init__.py (100%)
 create mode 100644 superset/explorables/base.py
 create mode 100644 superset/mcp_service/ARCHITECTURE.md
 create mode 100644 superset/mcp_service/CLAUDE.md
 create mode 100644 superset/mcp_service/PRODUCTION.md
 create mode 100644 superset/mcp_service/README.md
 create mode 100644 superset/mcp_service/SECURITY.md
 copy superset/{core/api/types/rest_api.py => mcp_service/__init__.py} (56%)
 create mode 100644 superset/mcp_service/__main__.py
 create mode 100644 superset/mcp_service/app.py
 create mode 100644 superset/mcp_service/auth.py
 create mode 100755 superset/mcp_service/bin/superset-mcp.js
 create mode 100644 superset/mcp_service/chart/chart_utils.py
 create mode 100644 superset/mcp_service/chart/preview_utils.py
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/chart/prompts}/__init__.py (84%)
 create mode 100644 superset/mcp_service/chart/prompts/create_chart_guided.py
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/chart/resources}/__init__.py (84%)
 create mode 100644 superset/mcp_service/chart/resources/chart_configs.py
 create mode 100644 superset/mcp_service/chart/schemas.py
 rename superset/{core/api/types/rest_api.py => mcp_service/chart/tool/__init__.py} (57%)
 create mode 100644 superset/mcp_service/chart/tool/generate_chart.py
 create mode 100644 superset/mcp_service/chart/tool/get_chart_available_filters.py
 create mode 100644 superset/mcp_service/chart/tool/get_chart_data.py
 create mode 100644 superset/mcp_service/chart/tool/get_chart_info.py
 create mode 100644 superset/mcp_service/chart/tool/get_chart_preview.py
 create mode 100644 superset/mcp_service/chart/tool/list_charts.py
 create mode 100644 superset/mcp_service/chart/tool/update_chart.py
 create mode 100644 superset/mcp_service/chart/tool/update_chart_preview.py
 copy superset/{sql/dialects => mcp_service/chart/validation}/__init__.py (76%)
 create mode 100644 superset/mcp_service/chart/validation/dataset_validator.py
 create mode 100644 superset/mcp_service/chart/validation/pipeline.py
 create mode 100644 superset/mcp_service/chart/validation/runtime/__init__.py
 create mode 100644 superset/mcp_service/chart/validation/runtime/cardinality_validator.py
 create mode 100644 superset/mcp_service/chart/validation/runtime/chart_type_suggester.py
 create mode 100644 superset/mcp_service/chart/validation/runtime/format_validator.py
 create mode 100644 superset/mcp_service/chart/validation/schema_validator.py
 copy {superset-core/src/superset_core => superset/mcp_service/commands}/__init__.py (100%)
 copy superset/{core/api/types/query.py => mcp_service/commands/create_form_data.py} (60%)
 copy superset/{sql/dialects => mcp_service/common}/__init__.py (82%)
 create mode 100644 superset/mcp_service/common/cache_schemas.py
 create mode 100644 superset/mcp_service/common/error_schemas.py
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/dashboard/prompts}/__init__.py (84%)
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/dashboard/resources}/__init__.py (84%)
 create mode 100644 superset/mcp_service/dashboard/schemas.py
 copy {superset-core/src/superset_core/api => superset/mcp_service/dashboard/tool}/__init__.py (62%)
 create mode 100644 superset/mcp_service/dashboard/tool/add_chart_to_existing_dashboard.py
 create mode 100644 superset/mcp_service/dashboard/tool/generate_dashboard.py
 create mode 100644 superset/mcp_service/dashboard/tool/get_dashboard_available_filters.py
 create mode 100644 superset/mcp_service/dashboard/tool/get_dashboard_info.py
 create mode 100644 superset/mcp_service/dashboard/tool/list_dashboards.py
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/dataset/prompts}/__init__.py (85%)
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/dataset/resources}/__init__.py (84%)
 create mode 100644 superset/mcp_service/dataset/schemas.py
 copy superset/{sql/dialects => mcp_service/dataset/tool}/__init__.py (75%)
 create mode 100644 superset/mcp_service/dataset/tool/get_dataset_available_filters.py
 create mode 100644 superset/mcp_service/dataset/tool/get_dataset_info.py
 create mode 100644 superset/mcp_service/dataset/tool/list_datasets.py
 create mode 100644 superset/mcp_service/docs/tool-search-optimization.md
 rename {tests/integration_tests/databases/ssh_tunnel/commands => superset/mcp_service/explore}/__init__.py (94%)
 copy superset/{sql/dialects => mcp_service/explore/tool}/__init__.py (76%)
 create mode 100644 superset/mcp_service/explore/tool/generate_explore_link.py
 create mode 100644 superset/mcp_service/flask_singleton.py
 create mode 100644 superset/mcp_service/index.js
 create mode 100644 superset/mcp_service/mcp_config.py
 create mode 100644 superset/mcp_service/mcp_core.py
 create mode 100644 superset/mcp_service/middleware.py
 create mode 100644 superset/mcp_service/package.json
 rename superset-core/src/superset_core/api/types/query.py => superset/mcp_service/run_proxy.sh (50%)
 mode change 100644 => 100755
 rename superset/{core/api/types/query.py => mcp_service/screenshot/__init__.py} (63%)
 create mode 100644 superset/mcp_service/screenshot/pooled_screenshot.py
 create mode 100644 superset/mcp_service/screenshot/webdriver_config.py
 create mode 100644 superset/mcp_service/screenshot/webdriver_pool.py
 create mode 100644 superset/mcp_service/server.py
 create mode 100644 superset/mcp_service/simple_proxy.py
 copy {superset-core/src/superset_core => superset/mcp_service/sql_lab}/__init__.py (100%)
 create mode 100644 superset/mcp_service/sql_lab/execute_sql_core.py
 create mode 100644 superset/mcp_service/sql_lab/schemas.py
 create mode 100644 superset/mcp_service/sql_lab/sql_lab_utils.py
 copy superset/{sql/dialects => mcp_service/sql_lab/tool}/__init__.py (74%)
 create mode 100644 superset/mcp_service/sql_lab/tool/execute_sql.py
 create mode 100644 superset/mcp_service/sql_lab/tool/open_sql_lab_with_context.py
 copy {superset-core/src/superset_core => superset/mcp_service/system}/__init__.py (93%)
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/system/prompts}/__init__.py (84%)
 create mode 100644 superset/mcp_service/system/prompts/quickstart.py
 copy {superset-core/src/superset_core/api/types => superset/mcp_service/system/resources}/__init__.py (83%)
 create mode 100644 superset/mcp_service/system/resources/instance_metadata.py
 create mode 100644 superset/mcp_service/system/schemas.py
 create mode 100644 superset/mcp_service/system/system_utils.py
 copy superset/{sql/dialects => mcp_service/system/tool}/__init__.py (81%)
 create mode 100644 superset/mcp_service/system/tool/get_instance_info.py
 create mode 100644 superset/mcp_service/system/tool/health_check.py
 copy superset/{sql/dialects => mcp_service/utils}/__init__.py (77%)
 create mode 100644 superset/mcp_service/utils/cache_utils.py
 create mode 100644 superset/mcp_service/utils/error_builder.py
 create mode 100644 superset/mcp_service/utils/permissions_utils.py
 create mode 100644 superset/mcp_service/utils/retry_utils.py
 create mode 100644 superset/mcp_service/utils/schema_utils.py
 create mode 100644 superset/mcp_service/utils/url_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/commands_tests.py
 create mode 100644 tests/integration_tests/tags/mysql_compatibility_test.py
 create mode 100644 tests/integration_tests/test_subdirectory_deployments.py
 copy {superset-core/src/superset_core => 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/explore}/__init__.py (100%)
 copy {superset-core/src/superset_core => tests/unit_tests/commands/explore/form_data}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/explore/form_data/test_create.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/key_value/test_shared_entries_migration.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/chart}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_schemas.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_utils.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/chart/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_generate_chart.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_get_chart_preview.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_list_charts.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_update_chart.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_update_chart_preview.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/common}/__init__.py (100%)
 rename superset-core/src/superset_core/api/types/__init__.py => tests/unit_tests/mcp_service/conftest.py (85%)
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dashboard}/__init__.py (100%)
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dashboard/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_generation.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dataset}/__init__.py (100%)
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dataset/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/dataset/tool/test_dataset_tools.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/explore}/__init__.py (100%)
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/explore/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/sql_lab}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/sql_lab/test_execute_sql_helper.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/sql_lab/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/sql_lab/tool/test_execute_sql.py
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/system/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/system/tool/test_health_check.py
 create mode 100644 tests/unit_tests/mcp_service/system/tool/test_mcp_core.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
 copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/utils}/__init__.py (100%)
 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_hashing.py
 create mode 100644 tests/unit_tests/utils/test_screenshot_cache_fix.py