You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/05/09 15:57:27 UTC

(superset) branch ts6-migration/phase-c-superset-core updated (1829b4fccde -> 4cb1ffa84ae)

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

rusackas pushed a change to branch ts6-migration/phase-c-superset-core
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 1829b4fccde chore(superset-core): forward-compat fixes for TypeScript 6.0
     add 44177b4e350 feat(explore): add CSV/XLS download to drill-to-detail modal (#37109)
     add 1903b919d69 fix(echarts): increase default axis title margins to prevent label overlap (#39447)
     add 73c4240ba47 feat(ui-core): export LeftOutlined icon from @superset-ui/core (#39563)
     add 18d89f25ce4 fix(dashboard): apply full transitive ancestor chain for dependent filters (#39504)
     add 5af17c7976e fix(OpenSearch): OpenSearch dialect for sqlglot (#39538)
     add 9f42ccececd chore(deps): bump caniuse-lite from 1.0.30001788 to 1.0.30001790 in /docs (#39541)
     add f672b143db0 chore(deps): bump react-checkbox-tree from 1.8.0 to 2.0.1 in /superset-frontend (#39261)
     add e9030b7fac9 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#39546)
     add 72d39bea857 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend (#39545)
     add f6c5219e896 fix(security): add UserSAMLModelView to USER_MODEL_VIEWS (#39568)
     add 4ee3a0fc074 feat(user_info): include Groups in user data payload when include_perms is True and show Groups on user_info page (#39450)
     add 7174695be74 chore(deps-dev): bump @swc/core from 1.15.24 to 1.15.30 in /superset-frontend (#39550)
     add ae61000a128 chore(deps): bump markdown-to-jsx from 9.7.15 to 9.7.16 in /superset-frontend (#39552)
     add 9366868f8f9 chore(deps): bump nanoid from 5.1.7 to 5.1.9 in /superset-frontend (#39554)
     add 7934665ac11 chore(deps): bump uuid from 13.0.0 to 14.0.0 in /superset-frontend (#39555)
     add b2468d37524 chore(deps): bump geostyler from 18.3.1 to 18.5.0 in /superset-frontend (#39549)
     add 07c8e7f3033 chore(deps): bump @deck.gl/mapbox from 9.2.11 to 9.3.1 in /superset-frontend (#39551)
     add e16656c6cfb chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#39548)
     add 6c88fcacfa4 chore(deps-dev): bump webpack from 5.106.0 to 5.106.2 in /superset-frontend (#39544)
     add 0d681338aa8 chore(deps-dev): bump baseline-browser-mapping from 2.10.16 to 2.10.20 in /superset-frontend (#39553)
     add 68ee776ad61 chore(deps): update dompurify requirement from ^3.4.0 to ^3.4.1 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#39542)
     add e10918307cb fix(db): Add MariaDB DDL fix for `NOCYCLE` syntax (#37582)
     add bc2ffc66e51 chore(deps): update dompurify requirement from ^3.4.0 to ^3.4.1 in /superset-frontend/packages/superset-ui-core (#39543)
     add 59bc895f3fd chore(deps): bump aws-actions/amazon-ecr-login from 2.1.3 to 2.1.4 (#39583)
     add b6ac1ef63ce chore(deps): bump baseline-browser-mapping from 2.10.20 to 2.10.21 in /docs (#39584)
     add d62f1546aa4 chore(deps): bump content-disposition from 1.0.1 to 1.1.0 in /superset-frontend (#39581)
     add fc84d5d959c fix(i18n): correct Ukrainian locale flag code and language name typo (#39593)
     add 9b52110ab14 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.58.2 in /superset-frontend (#39380)
     add b1b6a057d88 fix(mcp): unwrap ToolResult payload before truncation in ResponseSizeGuardMiddleware (#39578)
     add 362e5bf45e9 fix(jinja): drill-to-detail respects remove_filter=True in Jinja templates (#39594)
     add dae79a6cba1 fix(mcp): surface validation errors in generate_chart instead of empty response (#39522)
     add acdf70176a1 fix(dashboard): prevent label overlap in non-English locales (#36669)
     add 0d50fd676be fix(mcp): hide user directory metadata from responses (#39576)
     add 012bf52c8c7 fix(mcp): resolve $ref by inlining definitions in compact schema (#39562)
     add 39f12786a22 refactor(chart): replace word cloud sort_by_series migration with code defaults (#39575)
     add f0d521dfc26 fix(reports): poll for spinner absence instead of snapshotting loading elements (#39579)
     add 7c4f87615b7 fix(mcp): correct method name in API key auth (extract_api_key_from_request) (#39437)
     add 970b5bcf75e fix(cross-filter): correctly cast adhoc column types when cross filtering (#39577)
     add d79eb5842ad fix(mcp): protect data-model metadata from dashboard viewers (#39599)
     add d7941ccfec2 fix(mcp): surface XSS sanitization in chart/dashboard names instead of silently stripping (#39491)
     add d6bbe6da9bb fix(sql-lab): show table expand/collapse arrow only on hover (#39627)
     add 78950fc18e1 fix(sqllab): explore to chart is disabled (#39630)
     add edf4d032188 chore: bump rison to 2.0.0 (#39529)
     add 57e563b1771 fix(mcp): redact dashboard data model metadata (#39632)
     add 1b3d070997b chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#39607)
     add ac449021456 chore(deps): bump match-sorter from 8.2.0 to 8.3.0 in /superset-frontend (#39610)
     add 66fce58697e chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.58.2 to 8.59.0 in /superset-frontend (#39612)
     add 579fe23a5e5 chore(deps): bump ol from 10.8.0 to 10.9.0 in /superset-frontend (#39616)
     add 6a899552176 chore(deps): bump postcss from 8.5.6 to 8.5.10 in /docs (#39639)
     add ad20285dd69 fix(mcp): sanitize chart config errors and accept field name aliases (#39606)
     add eb2645affe8 chore(deps): bump pillow from 12.1.1 to 12.2.0 (#39590)
     add abd93444d0b fix(frontend): clean up console warnings and deprecations (#37881)
     add 2026a1de6a2 fix(i18n): Fix menu bar translations not updating on language change (#34565)
     add e709c191dbf chore(deps-dev): bump webpack-sources from 3.3.4 to 3.4.0 in /superset-frontend (#39611)
     add 9d480bc79de chore(deps-dev): bump terser-webpack-plugin from 5.4.0 to 5.5.0 in /superset-frontend (#39615)
     add 3da51ac3ebc chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend (#39617)
     add 96595965b87 chore(deps): bump maplibre-gl from 5.23.0 to 5.24.0 in /superset-frontend (#39619)
     add 2c7d25f8299 chore(deps-dev): bump html-webpack-plugin from 5.6.6 to 5.6.7 in /superset-frontend (#39609)
     add f255f63953c chore(deps): bump react-diff-viewer-continued from 4.2.0 to 4.2.2 in /superset-frontend (#39613)
     add 30bd490b848 fix: delete Chart under "All" in home page doesn't refresh after dele… (#39471)
     add 9a7938899e2 chore(deps): bump yargs from 17.7.2 to 18.0.0 in /superset-frontend (#36584)
     add 6ad1583eb57 fix(security): bump authlib to 1.6.9 (#39598)
     add a216b23d5a3 fix(i18n): Update Japanese translations (#39022)
     add ea8a8f8ac7f feat(i18n): improve pt_BR translations (#38826)
     add dece5415a79 chore(deps): bump memoize-one from 5.2.1 to 6.0.0 in /superset-frontend/plugins/plugin-chart-table (#39312)
     add 4cc4d62486f chore(deps): bump antd from 6.3.6 to 6.3.7 in /docs (#39670)
     add 41823a30575 chore(deps): bump @ant-design/icons from 6.1.1 to 6.2.0 in /docs (#39673)
     add 0b78ffbb9c8 chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#39672)
     add 37bf729f754 chore(deps-dev): bump jsdom from 29.0.2 to 29.1.0 in /superset-frontend (#39678)
     add 7c242148579 chore(deps): bump caniuse-lite from 1.0.30001790 to 1.0.30001791 in /docs (#39674)
     add 2b13e075218 fix(ci): resolve OOM issues when building docs locally with Docusaurus Faster + sync docs with latest build result (#38486)
     add 4c4905f689c fix: d3 format for table (#37454)
     add b9de3dba95d fix(docs): fix 404s in documentation (#38974)
     add 44d1f50b7c7 chore(deps): bump baseline-browser-mapping from 2.10.21 to 2.10.23 in /docs (#39671)
     add b791f4c2cd2 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend (#39677)
     add 9ccd37de1ce chore(ci): update Node.js version used in building CI image (#38635)
     add 7c4b2b137c7 fix(explore): ensure unsaved-changes dialog renders above View SQL modal (#39569)
     add 6da04fa51d8 fix(Modal): prevent title overlapping with close button in long header titles (#36536)
     add 7774ec7e3c5 fix(mcp): database filter columns, timeseries SQL, and unsaved chart datasource name (#39636)
     add 90f8fafbb46 docs(rls): adding additional rls filter documentation (#38829)
     add 5fe3a1c2cd3 fix(dev): revert `react-checkbox-tree` from 2.1.0 to 1.8.0 in /superset-frontend (#39660)
     add 523ecb65a4a chore(deps-dev): bump typescript-eslint from 8.59.0 to 8.59.1 in /superset-websocket (#39687)
     add cf587caca7c fix(plugin-chart-handlebars): preserve template on explore open (#39442)
     add 3f28f5d012b fix(mcp): surface structured errors for generate_chart validation failures (#39484)
     add 3395620b6ee fix(table chart): fix rerender bug that continuously cleared search box (#39707)
     add c4a8b34b11f fix(query-history): enable sorting by Duration column (#39637)
     add 7bee2afa8e4 fix(theme): set color-scheme on html to fix dark mode scrollbars (#39704)
     add 6947881ba70 fix(mcp): classify user errors as WARNING, system errors as ERROR (#39634)
     add 09c7e1fc089 fix(mcp): rename _FastMCPValidationFilter to public symbol (#39722)
     add 3aa99c577ed chore(deps): bump python-dotenv from 1.1.0 to 1.2.2 (#39723)
     add ef50b688eef fix(docs): add split Get Started button to main docs page with audience links  (#39467)
     add d0abb66fdfd fix(mcp): default chart previews to ascii (#39719)
     add ea3a1955b7e chore(deps): bump @swc/core from 1.15.30 to 1.15.32 in /docs (#39695)
     add 4b42f82f136 fix(mcp): restore typed ChartConfig in tool schemas for LLM visibility (#39732)
     add dbd7984ce9b chore(deps-dev): bump oxlint from 1.61.0 to 1.62.0 in /superset-frontend (#39701)
     add 171414f1653 fix(chart): use categorical axis for bar charts with numeric x-axis (#39141)
     add eba08ae52ad fix(ci): switch Dependabot Python ecosystem from uv to pip (#39726)
     add 1dd28c6fcd2 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.59.0 to 8.59.1 in /superset-frontend (#39696)
     add 7b02c21bff8 chore(deps): bump @ant-design/icons from 6.1.1 to 6.2.2 in /superset-frontend (#39697)
     add 2a884e84565 chore(deps-dev): bump @swc/core from 1.15.30 to 1.15.32 in /superset-frontend (#39692)
     add 54f1e327639 fix(dashboard): escape emoji in position_json before saving to prevent truncation (#39737)
     add c7c9a17d6b8 fix(mysql): fallback to pymysql when MySQLdb is not installed in get_datatype() (#39729)
     add 549aff7cf98 fix(mcp): clarify chart preview URL metadata (#39731)
     add fe074c0d768 docs(mcp): update MCP server docs for 6.1 (#39422)
     add 2b623fd09ae docs: Superset 6.1 documentation catch-up — batch 2 (#39441)
     add b4f595953e4 docs: Superset 6.1 documentation catch-up — batch 3 (#39445)
     add 8d17c34068b feat(mcp): restore self-lookup via created_by_me flag (#39638)
     add 6ce3885f2ee chore(build): remove thread-loader from webpack build (#39763)
     add 979f60a6d4a docs: Superset 6.1 documentation catch-up — batch 4 (#39446)
     add 4c4f3341de6 chore(deps): bump dawidd6/action-download-artifact from 20 to 21 (#39742)
     add ebb43404c8d chore(deps): bump baseline-browser-mapping from 2.10.23 to 2.10.24 in /docs (#39741)
     add e3e834bbf7b fix(mcp): fall back to title match when dashboard slug lookup misses (#39567)
     add 81a08f0a0e0 chore(deps): bump fastmcp from 3.1.0 to 3.2.4 (#39349)
     add c2b9272f4c9 fix(mcp): sanitize read path output for LLM context (#39738)
     add 49c249c7a9d fix(cache-warmup): add missing dashboard context in DashboardTagsStrategy (#39531)
     add ae4c765d7d6 fix(docs): fix embedding page frontmatter and title capitalization (#39765)
     add e4fe08ab9ef feat(mcp): add generate_bug_report tool with PII sanitization (#39595)
     add df396aa6e9d fix(drill-to-detail): drill to detail by correctly filtering by metric (#39766)
     add 9c3c8dcc0bf fix(table): restore dropdown arrow visibility on paginated table page… (#39305)
     add f7c955f81ad feat: provide full endpoint URL construction for plugin developers (#37360)
     add 2c26914c2eb chore(deps-dev): bump typescript-eslint from 8.59.0 to 8.59.1 in /docs (#39694)
     add ce3f19d373a chore(deps): bump swagger-ui-react from 5.32.4 to 5.32.5 in /docs (#39693)
     add c895c4ffa90 chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in /superset-frontend (#39744)
     add 43a2cd36604 chore(deps-dev): bump psycopg2-binary from 2.9.9 to 2.9.12 (#39749)
     add a4532844f49 chore(deps): bump msgpack from 1.0.8 to 1.1.2 (#39752)
     add 9001e7dcf27 chore(deps): bump pandas from 2.1.4 to 2.3.3 (#39754)
     add bfacc3b5ac7 chore(deps): bump xlsxwriter from 3.0.9 to 3.2.9 (#39757)
     add 1061b0612cc chore(deps-dev): bump eslint-plugin-no-only-tests from 3.3.0 to 3.4.0 in /superset-frontend (#39768)
     add 7842a9b05d1 fix(playwright): remove Google Sheets dependency from dataset tests (#39143)
     add bc875aa3e32 feat: Latvian localization (#38965)
     add a135e290355 fix(time-format): handle string input in TimeFormatter to fix pivot table NaN dates (#38949)
     add 56e9331dada chore: add Aadhar Housing Finance Limited to INTHEWILD (#38366)
     add 6ad503201b8 chore(deps): bump zod from 4.3.6 to 4.4.1 in /superset-frontend (#39770)
     add c15b208fdaa chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#39745)
     add 9faeda5723a chore(deps): bump @ant-design/icons from 6.2.0 to 6.2.2 in /docs (#39691)
     add 3f681040076 chore(deps-dev): bump @swc/plugin-emotion from 14.8.0 to 14.9.0 in /superset-frontend (#39715)
     add 4fcb3144ff1 fix(dashboard): prevent duplicate screenshot downloads (#39525)
     add 12f69760f90 fix(table): conditionally render search dropdown only when search input is enabled (#35204)
     add f57ba7645dd fix(CountryMap): ISO updated for France overseas (complete run) (#36055)
     add 512ba43e764 feat(i18n): add Czech translations (#36153)
     add 4244ae87bf7 fix(deps): regenerate pinned requirements for psycopg2-binary 2.9.12 (#39790)
     add 86eb6176d11 fix: Enforce per-user caching on legacy API endpoint (#39789)
     add 3f550f166f3 fix(GSheets OAuth2): Re-add UnauthenticatedError (#39785)
     add f29d82b3b1d feat(mcp): add query_dataset tool to query datasets using semantic layer (#39727)
     add 957b298ae1e fix(mcp): add default request parameter to list_charts and list_dashboards (#39730)
     add e585406fff6 chore(codeowners): notify @sfirke on translation changes (#39794)
     add d23b0cad920 chore: Bump core packages to 0.1.0 RC3 (#39823)
     add 2ec53c0694b chore(deps): bump mapbox-gl from 3.22.0 to 3.23.0 in /superset-frontend (#39769)
     add de45f3a928e chore(deps): bump aws-actions/amazon-ecs-deploy-task-definition from 2.6.1 to 2.6.2 (#39806)
     add 6bfdee98cd9 chore(deps-dev): bump @docusaurus/tsconfig from 3.10.0 to 3.10.1 in /docs (#39811)
     add 1ac113fd449 chore(deps): bump aws-actions/amazon-ecs-render-task-definition from 1.8.4 to 1.8.5 (#39809)
     add e77fb5e3fcb feat(i18n): updated Ukrainian translation  (#39720)
     add cb744388652 fix(viz): correct table chart drill-to-detail temporal boundaries and null handling (#39668)
     add 98eaaaa6d66 fix(mcp): clear stale thread-local DB session in sync tool wrapper (#39798)
     add dbe26d81ce0 chore(deps-dev): bump baseline-browser-mapping from 2.10.21 to 2.10.24 in /superset-frontend (#39759)
     add d8dd2d99b3f fix(time-comparison): use chart row_limit instead of instance config in offset queries (#39490)
     add 9d4384e49ee chore(deps-dev): bump @babel/preset-env from 7.29.2 to 7.29.3 in /superset-frontend (#39822)
     add b14cca15f6b fix(table): preserve decimals in totals row when Time Comparison is enabled (#39747)
     add c90c8612ade chore(deps): bump @docusaurus/faster from 3.10.0 to 3.10.1 in /docs (#39804)
     add 867e173427b chore(deps): drop stale legacy-plugin-chart-map-box lockfile entry (#39825)
     add ad73395c894 chore(deps-dev): bump yeoman-test from 11.3.1 to 11.4.2 in /superset-frontend (#39816)
     add dc1c0f6ba19 docs: add user-facing Handlebars chart page with full helpers reference (#39591)
     add 6205afbaa08 chore(deps-dev): bump webpack-sources from 3.4.0 to 3.4.1 in /superset-frontend (#39851)
     add 28239c18d40 feat(mcp): warn when execute_sql template_params used with templating disabled (#39858)
     add 41a22d79184 chore: Upgrade to React 18 (#38563)
     add 673634f7af7 fix(mcp): point get_dataset_info url to explore view instead of legacy tablemodelview edit (#39838)
     add af8d15fdfcf chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in /superset-frontend (#39852)
     add 812f4ae0804 chore(deps): update zod requirement from ^4.4.1 to ^4.4.3 in /superset-frontend/plugins/plugin-chart-echarts (#39850)
     add 2be971ce770 chore(deps): bump docusaurus-plugin-openapi-docs from 5.0.1 to 5.0.2 in /docs (#39849)
     add 319b8a1124d chore(deps-dev): bump globals from 17.5.0 to 17.6.0 in /docs (#39847)
     add ebb02d0ecf0 chore(deps): bump @swc/core from 1.15.32 to 1.15.33 in /docs (#39845)
     add 2f605724e72 chore(deps-dev): bump globals from 17.5.0 to 17.6.0 in /superset-websocket (#39844)
     add c2725e86f37 fix(markdown): Allow "target" attribute (#39868)
     add e76318633e3 fix(helm): allow chart to work out-of-the-box with legacy Bitnami images (#39839)
     add 5325b87e73e fix(clickhouse): prevent expensive table scan (#39867)
     add 76955017eb0 chore: bump shillelagh to 1.4.4 (#39870)
     add e80207218b8 chore(deps-dev): bump eslint from 10.2.1 to 10.3.0 in /superset-websocket (#39843)
     add 2edae162f07 chore(deps): bump baseline-browser-mapping from 2.10.24 to 2.10.27 in /docs (#39848)
     add d6188374b4f chore(deps): bump docusaurus-theme-openapi-docs from 5.0.1 to 5.0.2 in /docs (#39846)
     add 586de12a05e fix(embedded): prevent duplicate React root on rehandshake (#39860)
     add 8173cfe9e3b fix(CollectionControl): assign stable ids to keyless items (#39862)
     add 5b5f23d1272 test(plugin-chart-echarts): regression guards for temporal x-axis labels on timeseries charts (#39208)
     add 9e91ae8cfff fix(colors): reassign colliding series when dashboard locks shared dimension color (#39297)
     add cb53745d43c feat: semantic layer extension (#37815)
     add 9459bc7bf4b fix(mcp): warn on invalid chart preview form data key (#39891)
     add 4a21a5365f8 fix(mcp): validate column refs in generate_explore_link, update_chart_preview, and update_chart (#39797)
     add 4b17ac26296 fix(explore): add matrixify_enable guard to prevent stale validators on pre-revamp charts (#38765)
     add 3745e37182b fix(OAuth2): Support OAuth2 exception with legacy endpoint (#39897)
     add d0ef19953ac chore(deps): bump memoize-one from 5.2.1 to 6.0.0 in /superset-frontend/plugins/plugin-chart-ag-grid-table (#37910)
     add c06aee85136 chore(deps-dev): bump jsdom from 29.1.0 to 29.1.1 in /superset-frontend (#39815)
     add 14d28c34fdc chore(deps-dev): update cx-oracle requirement from <8.1,>8.0.0 to >8.0.0,<8.4 (#39753)
     add d578fa1949d chore(deps): bump @deck.gl/mapbox from 9.3.1 to 9.3.2 in /superset-frontend (#39814)
     add b305c8681c9 chore(deps-dev): update impyla requirement from <0.17,>0.16.2 to >0.16.2,<0.23 (#39833)
     add 5e2c6d8c9e4 chore(deps): bump nanoid from 5.1.9 to 5.1.11 in /superset-frontend (#39820)
     add f018b678950 chore(deps-dev): update sqlalchemy-vertica-python requirement from <0.6,>=0.5.9 to >=0.5.9,<0.7 (#39831)
     add d7beffcec12 chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.9.3 to 0.10.0 in /superset-frontend (#39853)
     add 7290d3c452a chore(deps-dev): update pyathena requirement from <3,>=2 to >=2,<4 (#39830)
     add d7663a9a1cc chore(deps-dev): update denodo-sqlalchemy requirement from ~=1.0.6 to >=1.0.6,<2.1.0 (#39832)
     add adfbbf1433c fix(sql): quote identifiers in transpile_to_dialect to fix case-sensitive column filters (#39521)
     add 9aaa12c7d44 fix(reports): preserve urlParams in multi-tab report fan-out (#39884)
     add e667ceb6cfa feat(themes): expose active theme mode via data-theme-mode attribute (#39063)
     add 4aa4415d8fd fix(i18n): update Russian translations (#39589)
     add 5b5dd010285 fix(sqla): parenthesize calculated column expressions in WHERE clause (#39793)
     add b5186d1c65c fix(reports): keep body sized so standalone screenshots don't time out (#39944)
     add d3c44e311eb chore(deps): bump aws-actions/amazon-ecr-login from 2.1.4 to 2.1.5 (#39931)
     add 7593d2a164d chore(deps): bump caniuse-lite from 1.0.30001791 to 1.0.30001792 in /docs (#39933)
     add 9ac4711ac8c fix(mcp): prevent DetachedInstanceError in get_chart_preview (#39921)
     add 9b520312a1a fix(mcp): use tiktoken for response-size-guard token estimation (#39912)
     add 8088c5d1dea fix(dashboard): match auto-refresh paused-dot outline to icon color (#39909)
     add 8c80caefa37 fix(explore): preserve preview chart name on save (#39908)
     add aa710672edb fix(ui): remove makeUrl() double-prefix bugs under subdirectory deployment (#39503)
     add ad5e3170dd8 fix: OpenSearch dialect identifier delimiters (#39953)
     add d3784879c29 fix(embedded-sdk): grant fullscreen and clipboard-write by default (#39943)
     add 69fbbfd7cef fix(table): consolidate visual column options under Visual formatting section (#39856)
     add 5bde86785f6 fix(docs): read capability flags from engine specs in database docs generator (#39449)
     add 2f82236b297 feat(docs): expand docs:screenshots generator with manifest and tutorial captures (#39444)
     add b8995561300 docs: Superset 6.1 documentation catch-up (security, alerts/reports, theming, config) (#39440)
     add 4311a15eb2b feat(sqlglot): Vertica dialect (#39969)
     add 0250092378c chore(frontend): TypeScript 6.0 readiness — declaration emit fixes (Phase A) (#39530)
     add dc22b82d88a chore(deps-dev): bump @typescript-eslint/parser from 8.59.1 to 8.59.2 in /superset-websocket (#39874)
     add dce3317bc9f chore(deps-dev): bump typescript-eslint from 8.59.1 to 8.59.2 in /docs (#39876)
     add ff7dc538536 fix(mcp): get_chart_sql drops x_axis on echarts_timeseries_* and only renders one query for mixed_timeseries (#39865)
     add cfb0b6e8119 fix(mcp): clarify request wrapper in list_datasets, list_charts, list_dashboards (#39920)
     add e934f2af927 fix(tests): prevent jest hangs caused by MessageChannel-mocked React scheduler (#39957)
     add 547660dcc42 fix(mcp): ASCII chart crashes with NaN when dataset contains null values (#39916)
     add d023fe17035 fix(trino/presto): use equality for boolean filters to support computed columns (#39500)
     add a60860c9692 fix(table): fall back to datasource columns for conditional formatting when query results are empty (#39345)
     add 68fa8e2733c fix(viz): flatten MultiIndex columns in Time-Series Table for multiple Group By (#37869)
     add f67dd4a8f3a chore(deps): bump geostyler from 18.5.0 to 18.5.1 in /superset-frontend (#39702)
     add 4cb1ffa84ae Merge branch 'master' into ts6-migration/phase-c-superset-core

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |     4 +
 .github/dependabot.yml                             |    12 +-
 .github/labeler.yml                                |    10 +
 .github/workflows/bashlib.sh                       |    14 +
 .github/workflows/ephemeral-env-pr-close.yml       |     2 +-
 .github/workflows/ephemeral-env.yml                |     8 +-
 .github/workflows/superset-docs-deploy.yml         |     4 +-
 .github/workflows/superset-docs-verify.yml         |     2 +-
 .github/workflows/superset-python-unittest.yml     |     1 +
 Dockerfile                                         |     2 +-
 RESOURCES/INTHEWILD.yaml                           |     4 +
 UPDATING.md                                        |     7 +
 docker/pythonpath_dev/superset_config.py           |     8 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |    81 +
 docs/admin_docs/configuration/cache.mdx            |    39 +-
 .../configuration/configuring-superset.mdx         |    52 +
 .../importing-exporting-datasources.mdx            |     4 +
 docs/admin_docs/configuration/mcp-server.mdx       |   136 +-
 .../configuration/networking-settings.mdx          |     4 +-
 docs/admin_docs/configuration/theming.mdx          |    62 +-
 docs/admin_docs/configuration/timezones.mdx        |     2 +-
 docs/admin_docs/installation/kubernetes.mdx        |     2 +-
 docs/admin_docs/security/security.mdx              |   197 +-
 docs/developer_docs/api.mdx                        |   124 +-
 .../components/design-system/dropdowncontainer.mdx |     2 +-
 .../components/design-system/flex.mdx              |     2 +-
 .../components/design-system/grid.mdx              |     2 +-
 .../components/design-system/layout.mdx            |     2 +-
 .../components/design-system/metadatabar.mdx       |     2 +-
 .../components/design-system/space.mdx             |     2 +-
 .../components/design-system/table.mdx             |     2 +-
 docs/developer_docs/components/index.mdx           |    24 +-
 docs/developer_docs/components/ui/autocomplete.mdx |     2 +-
 docs/developer_docs/components/ui/avatar.mdx       |     2 +-
 docs/developer_docs/components/ui/badge.mdx        |     2 +-
 docs/developer_docs/components/ui/breadcrumb.mdx   |     2 +-
 docs/developer_docs/components/ui/button.mdx       |     8 +-
 docs/developer_docs/components/ui/buttongroup.mdx  |     2 +-
 docs/developer_docs/components/ui/cachedlabel.mdx  |     2 +-
 docs/developer_docs/components/ui/card.mdx         |     2 +-
 docs/developer_docs/components/ui/checkbox.mdx     |     2 +-
 docs/developer_docs/components/ui/collapse.mdx     |     2 +-
 docs/developer_docs/components/ui/datepicker.mdx   |     2 +-
 docs/developer_docs/components/ui/divider.mdx      |     2 +-
 .../developer_docs/components/ui/editabletitle.mdx |     2 +-
 docs/developer_docs/components/ui/emptystate.mdx   |     2 +-
 docs/developer_docs/components/ui/favestar.mdx     |     2 +-
 docs/developer_docs/components/ui/iconbutton.mdx   |     2 +-
 docs/developer_docs/components/ui/icons.mdx        |     2 +-
 docs/developer_docs/components/ui/icontooltip.mdx  |     2 +-
 docs/developer_docs/components/ui/infotooltip.mdx  |     2 +-
 docs/developer_docs/components/ui/input.mdx        |     2 +-
 docs/developer_docs/components/ui/label.mdx        |     2 +-
 docs/developer_docs/components/ui/list.mdx         |     2 +-
 docs/developer_docs/components/ui/listviewcard.mdx |     2 +-
 docs/developer_docs/components/ui/loading.mdx      |     2 +-
 docs/developer_docs/components/ui/menu.mdx         |     2 +-
 docs/developer_docs/components/ui/modal.mdx        |     2 +-
 docs/developer_docs/components/ui/modaltrigger.mdx |     2 +-
 docs/developer_docs/components/ui/popover.mdx      |     2 +-
 docs/developer_docs/components/ui/progressbar.mdx  |     2 +-
 docs/developer_docs/components/ui/radio.mdx        |     2 +-
 docs/developer_docs/components/ui/safemarkdown.mdx |     2 +-
 docs/developer_docs/components/ui/select.mdx       |     2 +-
 docs/developer_docs/components/ui/skeleton.mdx     |     2 +-
 docs/developer_docs/components/ui/slider.mdx       |     2 +-
 docs/developer_docs/components/ui/steps.mdx        |     2 +-
 docs/developer_docs/components/ui/switch.mdx       |     2 +-
 .../components/ui/tablecollection.mdx              |     6 -
 docs/developer_docs/components/ui/tableview.mdx    |     2 +-
 docs/developer_docs/components/ui/tabs.mdx         |     2 +-
 docs/developer_docs/components/ui/timer.mdx        |     2 +-
 docs/developer_docs/components/ui/tooltip.mdx      |     2 +-
 docs/developer_docs/components/ui/tree.mdx         |     2 +-
 docs/developer_docs/components/ui/treeselect.mdx   |     2 +-
 docs/developer_docs/components/ui/typography.mdx   |     2 +-
 .../components/ui/unsavedchangesmodal.mdx          |     2 +-
 docs/developer_docs/components/ui/upload.mdx       |     2 +-
 .../contributing/development-setup.md              |     2 +-
 .../extensions/contribution-types.md               |    49 +
 docs/developer_docs/extensions/overview.md         |     2 +-
 .../creating-your-first-dashboard.mdx              |    50 +-
 docs/docs/using-superset/embedding.mdx             |     9 +-
 docs/docs/using-superset/handlebars-chart.mdx      |   143 +
 docs/docs/using-superset/sql-templating.mdx        |    24 +
 .../docs/using-superset/using-ai-with-superset.mdx |    37 +-
 docs/docusaurus.config.ts                          |    51 +-
 docs/package.json                                  |    39 +-
 docs/scripts/generate-database-docs.mjs            |   317 +-
 docs/scripts/generate-superset-components.mjs      |    98 +-
 docs/src/components/GetStartedSplitButton.tsx      |   155 +
 docs/src/data/databases.json                       |  9952 +++--
 docs/src/pages/index.tsx                           |    22 +-
 docs/src/styles/main.css                           |    46 +-
 docs/src/theme/NavbarItem/ComponentTypes.tsx       |    41 +
 .../theme/NavbarItem/GetStartedSplitNavbarItem.tsx |    17 +-
 docs/src/theme/Root.js                             |     4 +-
 docs/static/feature-flags.json                     |     6 +
 docs/static/img/screenshots/dashboard.jpg          |   Bin 136723 -> 134621 bytes
 docs/static/img/screenshots/explore.jpg            |   Bin 106386 -> 118936 bytes
 docs/static/img/screenshots/gallery.jpg            |   Bin 121316 -> 121175 bytes
 docs/static/img/screenshots/sql_lab.jpg            |   Bin 101650 -> 98906 bytes
 docs/static/img/tutorial/create_pivot.png          |   Bin 80625 -> 245987 bytes
 .../img/tutorial/publish_button_dashboard.png      |   Bin 85940 -> 39607 bytes
 .../img/tutorial/tutorial_08_sources_tables.png    |   Bin 52421 -> 134075 bytes
 docs/static/img/tutorial/tutorial_chart_resize.png |   Bin 86804 -> 12623 bytes
 docs/static/img/tutorial/tutorial_edit_button.png  |   Bin 14099 -> 2176 bytes
 .../img/tutorial/tutorial_first_dashboard.png      |   Bin 99255 -> 37504 bytes
 docs/static/img/tutorial/tutorial_save_slice.png   |   Bin 144443 -> 21738 bytes
 docs/yarn.lock                                     |  1487 +-
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |     2 +-
 helm/superset/values.yaml                          |     7 +
 pyproject.toml                                     |    39 +-
 requirements/base.txt                              |    14 +-
 requirements/development.txt                       |    26 +-
 scripts/oxlint.sh                                  |    12 +-
 superset-core/pyproject.toml                       |     4 +-
 .../src/superset_core/semantic_layers/config.py    |    73 +
 .../src/superset_core/semantic_layers/daos.py      |   169 +
 .../superset_core/semantic_layers/decorators.py    |   102 +
 .../src/superset_core/semantic_layers/layer.py     |   129 +
 .../src/superset_core/semantic_layers/models.py    |    85 +
 .../src/superset_core/semantic_layers/types.py     |   209 +
 .../src/superset_core/semantic_layers/view.py      |   113 +
 superset-embedded-sdk/src/index.ts                 |    13 +-
 superset-extensions-cli/pyproject.toml             |     2 +-
 superset-frontend/package-lock.json                | 42127 +++++++++----------
 superset-frontend/package.json                     |    73 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../packages/superset-core/package.json            |    13 +-
 .../packages/superset-core/src/testing.tsx         |     4 +-
 .../superset-core/src/theme/GlobalStyles.tsx       |     6 +
 .../packages/superset-core/src/theme/Theme.tsx     |     4 +
 .../src/theme/utils/themeUtils.test.ts             |     2 +-
 .../superset-ui-chart-controls/package.json        |     9 +-
 .../src/sections/chartTitle.tsx                    |     6 +-
 .../src/shared-controls/matrixifyControls.test.ts  |     5 +-
 .../src/shared-controls/matrixifyControls.tsx      |     9 +-
 .../superset-ui-chart-controls/src/types.ts        |     1 +
 .../shared-controls/matrixifyControls.test.tsx     |   238 +
 .../packages/superset-ui-core/package.json         |    13 +-
 .../src/color/CategoricalColorScale.ts             |    47 +-
 .../src/components/ActionButton/index.tsx          |    10 +-
 .../AsyncAceEditor/useJsonValidation.test.ts       |     4 +-
 .../src/components/AsyncEsmComponent/index.tsx     |    18 +-
 .../src/components/Button/types.ts                 |     3 +-
 .../DropdownContainer.stories.tsx                  |     2 +-
 .../src/components/DropdownContainer/types.ts      |     3 +-
 .../DynamicEditableTitle.regression.test.tsx       |    80 +
 .../src/components/DynamicEditableTitle/index.tsx  |    43 +-
 .../src/components/EmptyState/types.ts             |     3 +-
 .../superset-ui-core/src/components/Form/Form.tsx  |     2 +-
 .../src/components/Icons/AntdEnhanced.tsx          |     2 +
 .../src/components/Label/Label.test.tsx            |     1 -
 .../components/Label/reusable/DatasetTypeLabel.tsx |    18 +-
 .../src/components/ListViewCard/index.tsx          |    11 +-
 .../src/components/ListViewCard/types.ts           |     1 +
 .../src/components/MetadataBar/MetadataBar.tsx     |     2 +-
 .../src/components/Modal/FormModal.tsx             |     2 +-
 .../src/components/Modal/Modal.tsx                 |   219 +-
 .../superset-ui-core/src/components/Modal/types.ts |     7 +-
 .../src/components/PageHeaderWithActions/index.tsx |   112 +-
 .../src/components/Select/Select.test.tsx          |     2 +-
 .../TableCollection/TableCollection.test.tsx       |     2 +-
 .../src/components/TableCollection/utils.tsx       |     4 +-
 .../src/components/TableView/TableView.test.tsx    |    41 +-
 .../src/components/TableView/TableView.tsx         |    52 +-
 .../src/components/TruncatedList/index.tsx         |     4 +-
 .../src/components/UnsavedChangesModal/index.tsx   |     7 +
 .../src/connection/SupersetClient.ts               |     1 +
 .../superset-ui-core/src/connection/types.ts       |     1 +
 .../hooks/useChangeEffect/useChangeEffect.test.ts  |     2 +-
 .../useComponentDidMount.test.ts                   |     2 +-
 .../useComponentDidUpdate.test.ts                  |     2 +-
 .../useElementOnScreen/useElementOnScreen.test.ts  |    16 +-
 .../src/hooks/usePrevious/usePrevious.test.ts      |     2 +-
 .../useTruncation/useCSSTextTruncation.test.tsx    |     2 +-
 .../useChildElementTruncation.test.ts              |     2 +-
 .../superset-ui-core/src/query/DatasourceKey.ts    |    12 +-
 .../superset-ui-core/src/query/types/Datasource.ts |     8 +
 .../src/time-format/TimeFormatter.ts               |     8 +-
 .../src/time-format/utils/stringifyTimeInput.ts    |     8 +-
 .../superset-ui-core/src/ui-overrides/types.ts     |     3 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |     1 +
 .../test/chart/components/SuperChart.test.tsx      |     2 +-
 .../test/color/CategoricalColorScale.test.ts       |   179 +
 .../test/connection/SupersetClient.test.ts         |    36 +-
 .../test/query/types/Datasource.test.ts            |     3 +-
 .../test/time-format/TimeFormatter.test.ts         |    15 +
 .../components/modals/ImportDatasetModal.ts        |    18 +
 .../playwright/fixtures/dataset_export.zip         |   Bin 5261 -> 0 bytes
 .../generators/docs/docs-screenshots.spec.ts       |   509 +-
 .../generators/docs/screenshot-manifest.yaml       |  1393 +
 .../playwright/generators/playwright.config.ts     |     1 +
 .../playwright/helpers/api/assertions.ts           |    32 +-
 .../playwright/helpers/api/dataset.ts              |    15 +
 .../helpers/api/{savedQuery.ts => sqllab.ts}       |    40 +-
 .../playwright/pages/CreateDatasetPage.ts          |     2 +-
 .../playwright/tests/chart/chart-list.spec.ts      |    29 +-
 .../tests/dashboard/dashboard-list.spec.ts         |    50 +-
 .../tests/dataset/create-dataset.spec.ts           |   297 +-
 .../playwright/tests/dataset/dataset-list.spec.ts  |   126 +-
 .../legacy-plugin-chart-calendar/package.json      |     2 +-
 .../legacy-plugin-chart-country-map/package.json   |     2 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   Bin 2319015 -> 10614906 bytes
 .../src/countries/afghanistan.geojson              |   Bin 116233 -> 116055 bytes
 .../src/countries/algeria.geojson                  |   Bin 72436 -> 72143 bytes
 .../src/countries/angola.geojson                   |   Bin 91061 -> 90836 bytes
 .../src/countries/antarctica.geojson               |   Bin 249319 -> 245701 bytes
 .../src/countries/argentina.geojson                |   Bin 92396 -> 91982 bytes
 .../src/countries/central_african_republic.geojson |   Bin 76367 -> 76280 bytes
 .../src/countries/chad.geojson                     |   Bin 59200 -> 59068 bytes
 .../src/countries/chile.geojson                    |   Bin 155583 -> 152109 bytes
 .../src/countries/colombia.geojson                 |   Bin 172825 -> 172427 bytes
 .../src/countries/cook_islands.geojson             |   Bin 4932 -> 4793 bytes
 .../democratic_republic_of_the_congo.geojson       |   Bin 60598 -> 60421 bytes
 .../src/countries/ecuador.geojson                  |   Bin 72252 -> 71984 bytes
 .../src/countries/egypt.geojson                    |   Bin 63171 -> 62737 bytes
 .../src/countries/ethiopia.geojson                 |   Bin 74208 -> 74123 bytes
 .../src/countries/fiji.geojson                     |   Bin 16252 -> 14845 bytes
 .../src/countries/finland.geojson                  |   Bin 131137 -> 130221 bytes
 .../src/countries/france.geojson                   |   Bin 293304 -> 292411 bytes
 .../src/countries/france_overseas.geojson          |   Bin 319670 -> 318427 bytes
 .../src/countries/france_regions.geojson           |   Bin 125649 -> 125270 bytes
 .../src/countries/french_polynesia.geojson         |   Bin 23524 -> 21933 bytes
 .../src/countries/greenland.geojson                |   Bin 183222 -> 180051 bytes
 .../src/countries/iran.geojson                     |   Bin 134537 -> 134245 bytes
 .../src/countries/italy.geojson                    |   Bin 239052 -> 238139 bytes
 .../src/countries/italy_regions.geojson            |   Bin 107344 -> 106568 bytes
 .../src/countries/japan.geojson                    |   Bin 125219 -> 123030 bytes
 .../src/countries/kazakhstan.geojson               |   Bin 97047 -> 96827 bytes
 .../src/countries/libya.geojson                    |   Bin 44004 -> 43958 bytes
 .../src/countries/malaysia.geojson                 |   Bin 61681 -> 61384 bytes
 .../src/countries/mexico.geojson                   |   Bin 155798 -> 153935 bytes
 .../src/countries/mongolia.geojson                 |   Bin 66140 -> 66008 bytes
 .../src/countries/mozambique.geojson               |   Bin 70273 -> 70096 bytes
 .../src/countries/myanmar.geojson                  |   Bin 122123 -> 121555 bytes
 .../src/countries/namibia.geojson                  |   Bin 51744 -> 51566 bytes
 .../src/countries/new_zealand.geojson              |   Bin 51553 -> 50769 bytes
 .../src/countries/niger.geojson                    |   Bin 24447 -> 24404 bytes
 .../src/countries/nigeria.geojson                  |   Bin 132145 -> 131937 bytes
 .../src/countries/norway.geojson                   |   Bin 193186 -> 190978 bytes
 .../src/countries/pakistan.geojson                 |   Bin 71260 -> 71132 bytes
 .../src/countries/papua_new_guinea.geojson         |   Bin 93153 -> 92488 bytes
 .../src/countries/peru.geojson                     |   Bin 121913 -> 121731 bytes
 .../src/countries/philippines.geojson              |   Bin 201029 -> 199021 bytes
 .../src/countries/philippines_regions.geojson      |   Bin 137441 -> 135628 bytes
 .../src/countries/portugal.geojson                 |   Bin 54433 -> 54121 bytes
 .../src/countries/saudi_arabia.geojson             |   Bin 49793 -> 49541 bytes
 .../src/countries/somalia.geojson                  |   Bin 17724 -> 17637 bytes
 .../src/countries/spain.geojson                    |   Bin 197369 -> 196796 bytes
 .../src/countries/sudan.geojson                    |   Bin 50604 -> 50472 bytes
 .../src/countries/sweden.geojson                   |   Bin 122167 -> 121208 bytes
 .../src/countries/tanzania.geojson                 |   Bin 108762 -> 108542 bytes
 .../src/countries/thailand.geojson                 |   Bin 206445 -> 205568 bytes
 .../src/countries/turkey.geojson                   |   Bin 204145 -> 203575 bytes
 .../src/countries/turkey_regions.geojson           |   Bin 107486 -> 107269 bytes
 .../src/countries/turkmenistan.geojson             |   Bin 34959 -> 34870 bytes
 .../src/countries/uk.geojson                       |   Bin 478985 -> 477503 bytes
 .../src/countries/ukraine.geojson                  |   Bin 173452 -> 173064 bytes
 .../united_states_minor_outlying_islands.geojson   |   Bin 3957 -> 3552 bytes
 .../src/countries/uzbekistan.geojson               |   Bin 50378 -> 50250 bytes
 .../src/countries/venezuela.geojson                |   Bin 119692 -> 118980 bytes
 .../src/countries/vietnam.geojson                  |   Bin 138908 -> 138005 bytes
 .../legacy-plugin-chart-horizon/package.json       |     2 +-
 .../legacy-plugin-chart-paired-t-test/package.json |     2 +-
 .../package.json                                   |     2 +-
 .../legacy-plugin-chart-partition/package.json     |     6 +-
 .../plugins/legacy-plugin-chart-rose/package.json  |     2 +-
 .../legacy-plugin-chart-world-map/package.json     |     2 +-
 .../plugins/legacy-preset-chart-nvd3/package.json  |     4 +-
 .../plugin-chart-ag-grid-table/package.json        |    11 +-
 .../src/AgGridTable/index.tsx                      |     8 +-
 .../src/AgGridTableChart.tsx                       |     2 +-
 .../src/controlPanel.tsx                           |    18 +-
 .../src/renderers/TextCellRenderer.tsx             |     6 +-
 .../src/utils/getInitialSortState.ts               |     2 +-
 .../test/memoization.test.ts                       |    99 +
 .../test/utils/useColDefs.test.ts                  |     2 +-
 .../plugins/plugin-chart-cartodiagram/package.json |     4 +-
 .../src/components/ChartLayer.tsx                  |    19 +-
 .../test/components/chartLayer.test.ts             |     5 +
 .../plugins/plugin-chart-echarts/package.json      |     4 +-
 .../plugin-chart-echarts/src/Bubble/constants.ts   |     4 +-
 .../src/Bubble/controlPanel.tsx                    |     4 +-
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |     2 +-
 .../src/MixedTimeseries/transformProps.ts          |    10 +-
 .../src/Timeseries/EchartsTimeseries.test.tsx      |     4 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |     4 +-
 .../src/Timeseries/constants.ts                    |     4 +-
 .../src/Timeseries/transformProps.ts               |     7 +-
 .../src/Treemap/EchartsTreemap.tsx                 |     6 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |     8 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |     4 +-
 .../plugin-chart-echarts/src/utils/series.ts       |     7 +-
 .../test/MixedTimeseries/transformProps.test.ts    |   136 +-
 .../test/Timeseries/transformProps.test.ts         |   113 +
 .../test/utils/formatters.test.ts                  |    52 +
 .../plugin-chart-echarts/test/utils/series.test.ts |    35 +
 .../plugins/plugin-chart-handlebars/README.md      |    95 -
 .../plugins/plugin-chart-handlebars/package.json   |     4 +-
 .../src/plugin/controls/handlebarTemplate.tsx      |    51 +-
 .../src/plugin/controls/style.tsx                  |     6 +-
 .../test/plugin/controls.test.ts                   |   116 +
 .../plugins/plugin-chart-pivot-table/package.json  |     4 +-
 .../plugin-chart-point-cluster-map/package.json    |    10 +-
 .../plugins/plugin-chart-table/package.json        |    11 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    23 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |     5 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   128 +-
 .../plugin-chart-table/src/controlPanel.tsx        |   102 +-
 .../plugin-chart-table/src/transformProps.ts       |     9 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   310 +
 .../plugin-chart-table/test/controlPanel.test.tsx  |   145 +-
 .../plugins/plugin-chart-word-cloud/package.json   |     4 +-
 .../src/plugin/buildQuery.ts                       |     2 +-
 .../src/plugin/controlPanel.tsx                    |     2 +-
 .../test/buildQuery.test.ts                        |    11 +
 .../test/controlPanel.test.ts                      |    22 +
 .../plugins/preset-chart-deckgl/package.json       |     8 +-
 .../src/CategoricalDeckGLContainer.tsx             |     3 +-
 .../preset-chart-deckgl/src/DeckGLContainer.tsx    |     2 +-
 .../preset-chart-deckgl/src/layers/common.test.ts  |     4 +-
 superset-frontend/scripts/build.js                 |     7 +-
 superset-frontend/spec/helpers/testing-library.tsx |     1 +
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |     8 +-
 .../src/SqlLab/components/AppLayout/index.tsx      |     2 +-
 .../ColumnElement/ColumnElement.test.tsx           |    10 +-
 .../EditorWrapper/EditorWrapper.test.tsx           |    28 +-
 .../EditorWrapper/useAnnotations.test.ts           |     8 +-
 .../components/EditorWrapper/useKeywords.test.ts   |     8 +-
 .../components/KeyboardShortcutButton/index.tsx    |     4 +-
 .../src/SqlLab/components/PopEditorTab/index.tsx   |     4 +-
 .../QueryAutoRefresh/QueryAutoRefresh.test.tsx     |     2 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |    25 +-
 .../components/RunQueryActionButton/index.tsx      |     8 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |    41 +-
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx     |     4 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |     2 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |     5 +-
 .../SqlEditorTopBar/useDatabaseSelector.test.ts    |     2 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |    27 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |    23 +-
 .../hooks/useQueryEditor/useQueryEditor.test.ts    |     2 +-
 .../src/SqlLab/reducers/getInitialState.test.ts    |     1 +
 .../useDeckLayerMetadata.test.ts                   |    64 +-
 superset-frontend/src/components/Chart/Chart.tsx   |    16 +-
 .../Chart/ChartContextMenu/useContextMenu.test.tsx |    74 +-
 .../components/Chart/DrillBy/DrillByModal.test.tsx |    75 +
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |    65 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |     6 +-
 .../Chart/DrillBy/useResultsTableView.test.ts      |     2 +-
 .../Chart/DrillBy/useResultsTableView.tsx          |     9 +
 .../Chart/DrillDetail/DownloadDropdown.test.tsx    |    57 +
 .../Chart/DrillDetail/DownloadDropdown.tsx         |    82 +
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |    67 +-
 .../Chart/DrillDetail/DrillDetailPane.tsx          |    78 +-
 .../DrillDetailTableControls.stories.tsx           |     5 +
 .../DrillDetail/DrillDetailTableControls.test.tsx  |    13 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |    56 +-
 .../Chart/useDrillDetailMenuItems/index.tsx        |     2 +-
 .../src/components/DatabaseSelector/index.tsx      |    34 +-
 .../ChangeDatasourceModal.test.tsx                 |    34 +
 .../Datasource/ChangeDatasourceModal/index.tsx     |    50 +-
 .../DatasourceModal/DatasourceModal.test.tsx       |    27 +-
 .../FoldersEditor/hooks/useDragHandlers.test.ts    |     2 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |     4 +-
 .../Datasource/components/Field/index.tsx          |     2 +-
 .../src/components/DynamicPlugins/index.tsx        |    13 +-
 .../ErrorMessage/DatasetNotFoundErrorMessage.tsx   |     3 +-
 .../src/components/FilterableTable/index.tsx       |    20 +-
 .../FilterableTable/useCellContentParser.test.ts   |     2 +-
 .../src/components/GridTable/Header.tsx            |    10 +-
 .../src/components/GridTable/index.tsx             |    11 +-
 .../src/components/ListView/ActionsBar.tsx         |     2 +-
 .../src/components/ListView/Filters/index.tsx      |    10 +-
 .../src/components/ListView/ListView.tsx           |    31 +-
 superset-frontend/src/components/ListView/types.ts |     2 +-
 .../src/components/Modal/StandardModal.tsx         |     2 +-
 .../components/Modal/useModalValidation.test.ts    |     2 +-
 .../ResizableSidebar/useStoredSidebarWidth.test.ts |     2 +-
 .../useStreamingExport.test.ts                     |     3 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |     3 +-
 .../AutoRefreshStatus/StatusIndicatorDot.test.tsx  |    12 +-
 .../AutoRefreshStatus/StatusIndicatorDot.tsx       |    12 +-
 .../src/dashboard/components/Dashboard.tsx         |     2 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     9 +-
 .../DashboardBuilder/DashboardContainer.tsx        |     5 +-
 .../src/dashboard/components/DashboardGrid.tsx     |     4 +-
 .../dashboard/components/Header/Header.test.tsx    |    18 +-
 .../dashboard/components/PropertiesModal/index.tsx |     2 +-
 .../src/dashboard/components/SliceAdder.tsx        |     3 +-
 .../components/SliceHeaderControls/index.tsx       |     2 +-
 .../components/filterscope/FilterScope.test.tsx    |    48 +-
 .../components/filterscope/FilterScopeSelector.tsx |     2 +-
 .../gridComponents/ChartHolder/ChartHolder.tsx     |     5 +-
 .../components/gridComponents/Column/Column.tsx    |     8 +-
 .../DynamicComponent/DynamicComponent.tsx          |     4 +-
 .../gridComponents/Header/Header.test.tsx          |     1 +
 .../gridComponents/Markdown/Markdown.test.tsx      |    46 +-
 .../gridComponents/Markdown/Markdown.tsx           |    10 +-
 .../components/gridComponents/Row/Row.tsx          |     4 +-
 .../components/gridComponents/Tab/Tab.tsx          |     2 +-
 .../components/gridComponents/Tabs/Tabs.tsx        |     2 +-
 .../new/DraggableNewComponent.test.tsx             |     1 +
 .../useCrossFiltersScopingModal.test.ts            |     6 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |     2 +-
 .../FilterBar/FilterBarSettings/index.tsx          |     2 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |     8 +-
 .../FilterBar/FilterControls/FilterDivider.tsx     |     2 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    17 +-
 .../FilterBar/FilterControls/GroupByFilterCard.tsx |    16 +-
 .../FilterBar/FilterControls/state.test.ts         |   182 +
 .../FilterBar/FilterControls/state.ts              |    40 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |    11 +-
 .../FiltersConfigForm/FilterScope/FilterScope.tsx  |     2 +-
 .../__tests__/TreeInitialization.test.tsx          |     2 +-
 .../FilterScope/__tests__/TreeSelection.test.tsx   |     2 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    21 +-
 .../FiltersConfigForm/TimeGrainPreFilter.test.tsx  |     2 +-
 .../FiltersConfigForm/getControlItemsMap.tsx       |    15 +-
 .../transformers/filterTransformer.ts              |    11 +-
 .../components/nativeFilters/dependencyGraph.ts    |    75 +
 .../components/nativeFilters/state.test.ts         |     2 +-
 .../components/resizable/ResizableContainer.tsx    |     4 +-
 .../dashboard/contexts/AutoRefreshContext.test.tsx |     2 +-
 .../hooks/useAutoRefreshTabPause.test.tsx          |     2 +-
 .../src/dashboard/hooks/useCurrentTime.test.ts     |     2 +-
 .../dashboard/hooks/useDownloadScreenshot.test.ts  |   110 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |    22 +-
 .../src/dashboard/hooks/useTabVisibility.test.ts   |     2 +-
 .../src/dashboard/reducers/dashboardFilters.ts     |     2 +-
 .../src/dashboard/reducers/dashboardInfo.ts        |     8 +-
 .../src/dashboard/util/permissionUtils.test.ts     |     1 +
 superset-frontend/src/dataMask/reducer.ts          |     6 +-
 .../src/embedded/EmbeddedContextProviders.tsx      |     5 +-
 superset-frontend/src/embedded/index.tsx           |    28 +-
 .../src/explore/actions/exploreActions.test.ts     |   105 +
 .../src/explore/actions/exploreActions.ts          |    85 +
 .../src/explore/actions/hydrateExplore.test.ts     |    82 +
 .../src/explore/actions/hydrateExplore.ts          |    15 +-
 .../src/explore/actions/saveModalActions.ts        |     7 +-
 .../src/explore/components/ControlHeader.tsx       |     2 +
 .../explore/components/DataTableControl/index.tsx  |    61 +-
 .../DataTableControl/useFilteredTableData.test.ts  |     2 +-
 .../DataTableControl/useTableColumns.test.ts       |     2 +-
 .../components/DataTableControls.tsx               |    34 +-
 .../DataTablesPane/components/SamplesPane.tsx      |     6 +-
 .../components/SingleQueryResultPane.tsx           |     6 +
 .../src/explore/components/DataTablesPane/types.ts |    11 +-
 .../DatasourcePanelDragOption.test.tsx             |     4 +-
 .../DatasourcePanelDragOption/index.tsx            |    40 +-
 .../DatasourcePanel/DatasourcePanelItem.test.tsx   |     2 +-
 .../explore/components/DatasourcePanel/index.tsx   |     6 +-
 .../components/ExploreChartHeader/index.tsx        |   171 +-
 .../explore/components/ExploreChartPanel/index.tsx |     4 +-
 .../explore/components/ExploreContainer/index.tsx  |     3 +-
 .../components/ExploreViewContainer/index.tsx      |    48 +-
 .../src/explore/components/SaveModal.test.tsx      |    27 +
 .../components/StashFormDataContainer/index.tsx    |     3 +-
 .../AnnotationLayerControl/AnnotationLayer.tsx     |     2 +-
 .../controls/AnnotationLayerControl/index.tsx      |     2 +-
 .../controls/CollectionControl/index.tsx           |   421 +-
 .../ColumnConfigConstants.test.tsx}                |    28 +-
 .../ConditionalFormattingControl.tsx               |     4 +-
 .../ContourControl/ContourPopoverTrigger.tsx       |     2 +-
 .../ControlPopover/ControlPopover.test.tsx         |     4 +-
 .../controls/ControlPopover/ControlPopover.tsx     |     4 +-
 .../controls/CurrencyControl/CurrencyControl.tsx   |     4 +-
 .../components/controls/CustomListItem/index.tsx   |    61 +-
 .../controls/DatasourceControl/index.tsx           |    53 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |     2 +-
 .../DateFilterControl/tests/CustomFrame.test.tsx   |     2 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |    55 +-
 .../ColumnSelectPopoverTrigger.tsx                 |     2 +-
 .../DndAdhocFilterOption.tsx                       |     6 +-
 .../DndColumnMetricSelect.tsx                      |    20 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |    25 +-
 .../DndColumnSelectPopoverTitle.tsx                |     2 +-
 .../DndFilterSelect.test.tsx                       |     2 +-
 .../DndColumnSelectControl/DndFilterSelect.tsx     |     1 +
 .../DndMetricSelect.test.tsx                       |    20 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |    47 +-
 .../controls/DndColumnSelectControl/Option.tsx     |     2 +-
 .../FilterControl/AdhocFilterControl/index.tsx     |     2 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |    34 +-
 .../AdhocFilterPopoverTrigger/index.tsx            |     5 +-
 .../utils/useDatePickerInAdhocfilter.test.ts       |     2 +-
 .../utils/useGetTimeRangeLabel.test.ts             |    22 +-
 .../AdhocMetricEditPopover.test.tsx                |    80 +-
 .../MetricControl/AdhocMetricEditPopover/index.tsx |    39 +-
 .../MetricControl/AdhocMetricOption.test.tsx       |     6 +-
 .../MetricControl/AdhocMetricPopoverTrigger.tsx    |     2 +-
 .../controls/MetricControl/MetricsControl.test.tsx |     9 +-
 .../controls/MetricControl/MetricsControl.tsx      |     2 +-
 .../VizTypeControl/VizTypeControl.test.tsx         |     2 +-
 superset-frontend/src/explore/controls.tsx         |     3 +-
 .../src/explore/reducers/exploreReducer.ts         |    20 +
 superset-frontend/src/explore/store.test.tsx       |   400 +-
 superset-frontend/src/explore/store.ts             |    58 +-
 superset-frontend/src/explore/types.ts             |     5 +
 .../alerts/components/NotificationMethod.tsx       |     2 +-
 .../src/features/charts/ChartCard.tsx              |     7 +-
 .../cssTemplates/CssTemplateModal.test.tsx         |   104 +
 .../databases/DatabaseModal/index.test.tsx         |    12 +-
 .../src/features/databases/DatabaseModal/index.tsx |     5 +-
 .../src/features/databases/DatabaseModal/styles.ts |     9 +-
 .../datasets/hooks/useDatasetLists.test.ts         |     2 +-
 .../metadataBar/useDatasetMetadataBar.test.tsx     |     2 +-
 .../src/features/home/ActivityTable.tsx            |    29 +-
 .../src/features/home/ChartTable.test.tsx          |    72 +-
 superset-frontend/src/features/home/ChartTable.tsx |    26 +-
 superset-frontend/src/features/home/EmptyState.tsx |     5 +-
 superset-frontend/src/features/home/Menu.tsx       |    20 +-
 .../src/features/home/RightMenu.test.tsx           |     9 +-
 superset-frontend/src/features/home/RightMenu.tsx  |     7 +-
 superset-frontend/src/features/home/SubMenu.tsx    |   143 +-
 superset-frontend/src/features/home/types.ts       |     2 +
 .../ReportModal/HeaderReportDropdown/index.tsx     |     2 +-
 .../src/features/reports/ReportModal/index.tsx     |     2 +-
 .../src/features/reports/ReportModal/styles.tsx    |     5 +-
 .../src/features/roles/RoleListEditModal.test.tsx  |     5 +
 .../src/features/roles/RoleListEditModal.tsx       |    76 +-
 .../semanticLayers/SemanticLayerModal.test.tsx     |   130 +
 .../features/semanticLayers/SemanticLayerModal.tsx |   408 +
 .../semanticLayers/jsonFormsHelpers.test.ts        |   150 +
 .../features/semanticLayers/jsonFormsHelpers.tsx   |   386 +
 .../src/features/semanticLayers/label.ts           |    65 +
 .../semanticViews/AddSemanticViewModal.test.tsx    |   264 +
 .../semanticViews/AddSemanticViewModal.tsx         |   541 +
 .../semanticViews/SemanticViewEditModal.test.tsx   |   267 +
 .../semanticViews/SemanticViewEditModal.tsx        |   241 +
 .../src/features/users/UserListModal.tsx           |   259 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |    18 +-
 .../src/hooks/apiResources/apiResources.test.ts    |     2 +-
 .../src/hooks/apiResources/dashboards.test.ts      |    19 +-
 .../hooks/apiResources/databaseFunctions.test.ts   |     6 +-
 .../src/hooks/apiResources/datasets.test.ts        |    89 +-
 .../src/hooks/apiResources/queries.test.ts         |    19 +-
 .../hooks/apiResources/queryValidations.test.ts    |     6 +-
 .../src/hooks/apiResources/schemas.test.ts         |    10 +-
 .../src/hooks/apiResources/sqlEditorTabs.test.ts   |    47 +-
 .../src/hooks/apiResources/sqlLab.test.ts          |    19 +-
 .../src/hooks/apiResources/tables.test.ts          |    12 +-
 .../hooks/useBeforeUnload/useBeforeUnload.test.ts  |     2 +-
 .../hooks/useConfirmModal/useConfirmModal.test.tsx |    98 +-
 .../src/hooks/useDebounceValue.test.ts             |     2 +-
 .../src/hooks/usePermissions.test.tsx              |     2 +-
 .../useUnsavedChangesPrompt.test.tsx               |    19 +-
 superset-frontend/src/logger/useLogAction.test.ts  |     2 +-
 .../src/pages/AlertReportList/index.tsx            |     6 +-
 .../src/pages/AnnotationLayerList/index.tsx        |     2 +-
 superset-frontend/src/pages/Chart/Chart.test.tsx   |    21 +-
 .../src/pages/ChartCreation/ChartCreation.test.tsx |     2 +
 .../src/pages/ChartCreation/index.tsx              |    19 +-
 superset-frontend/src/pages/ChartList/index.tsx    |    13 +-
 .../src/pages/DashboardList/index.tsx              |     4 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |   501 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |    39 +-
 .../DatasetList/DatasetList.integration.test.tsx   |    23 +-
 .../DatasetList/DatasetList.listview.test.tsx      |   233 +-
 .../DatasetList/DatasetList.permissions.test.tsx   |    17 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |    85 +-
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |    28 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |   809 +-
 .../src/pages/FileHandler/index.test.tsx           |    39 +-
 superset-frontend/src/pages/GroupsList/index.tsx   |     4 +-
 superset-frontend/src/pages/RolesList/index.tsx    |     6 +-
 .../pages/SavedQueryList/SavedQueryList.test.tsx   |    47 +-
 .../src/pages/SavedQueryList/index.tsx             |    12 +-
 .../src/pages/SqlLab/LocationContext.tsx           |     4 +-
 superset-frontend/src/pages/SqlLab/SqlLab.test.tsx |     1 +
 .../src/pages/UserInfo/UserInfo.test.tsx           |    13 +-
 superset-frontend/src/pages/UserInfo/index.tsx     |     5 +-
 superset-frontend/src/theme/ThemeController.ts     |    16 +-
 superset-frontend/src/theme/ThemeProvider.tsx      |    14 +-
 .../src/theme/hooks/useThemeValidation.test.ts     |     2 +-
 .../src/theme/tests/ThemeController.test.ts        |    35 +
 .../src/theme/tests/ThemeProvider.test.tsx         |    58 +-
 superset-frontend/src/types/Dataset.ts             |    11 +-
 superset-frontend/src/types/bootstrapTypes.ts      |     1 +
 superset-frontend/src/views/CRUD/hooks.test.tsx    |     2 +-
 superset-frontend/src/views/CRUD/hooks.ts          |     2 +-
 superset-frontend/src/views/CRUD/utils.tsx         |     2 +
 .../src/views/RootContextProviders.tsx             |     5 +-
 superset-frontend/src/views/index.tsx              |     5 +-
 superset-frontend/src/views/menu.tsx               |     7 +-
 superset-frontend/webpack.config.js                |    24 +-
 superset-frontend/webpack.proxy-config.js          |     4 +-
 superset-websocket/package-lock.json               |   576 +-
 superset-websocket/package.json                    |     8 +-
 superset/advanced_data_type/api.py                 |    10 +-
 superset/annotation_layers/annotations/api.py      |    14 +-
 superset/annotation_layers/api.py                  |    10 +-
 superset/charts/api.py                             |    12 +-
 superset/commands/dashboard/update.py              |     4 +
 .../commands/datasource}/__init__.py               |     0
 superset/commands/datasource/list.py               |   245 +
 superset/commands/explore/get.py                   |     6 +-
 superset/commands/report/execute.py                |    59 +-
 .../commands/semantic_layer}/__init__.py           |     0
 superset/commands/semantic_layer/create.py         |   104 +
 superset/commands/semantic_layer/delete.py         |   115 +
 superset/commands/semantic_layer/exceptions.py     |    76 +
 superset/commands/semantic_layer/update.py         |   126 +
 superset/common/query_object.py                    |    34 +-
 superset/config.py                                 |     7 +-
 superset/connectors/sqla/models.py                 |    48 +-
 superset/core/api/core_api_injection.py            |    35 +
 superset/css_templates/api.py                      |     4 +-
 superset/daos/chart.py                             |    50 +-
 superset/daos/dashboard.py                         |    24 +-
 superset/daos/dataset.py                           |    25 +-
 superset/daos/datasource.py                        |   160 +-
 superset/daos/semantic_layer.py                    |   220 +
 superset/dashboards/api.py                         |    22 +-
 superset/dashboards/permalink/types.py             |     6 +-
 superset/databases/api.py                          |    10 +-
 superset/datasets/api.py                           |    20 +-
 superset/datasets/datetime_format_detector.py      |    11 +-
 superset/datasource/api.py                         |   183 +-
 superset/datasource/schemas.py                     |   155 +
 superset/db_engine_specs/base.py                   |     4 +-
 superset/db_engine_specs/gsheets.py                |     4 +-
 superset/db_engine_specs/lib.py                    |    10 +
 superset/db_engine_specs/mysql.py                  |     9 +-
 superset/db_engine_specs/presto.py                 |     4 +
 superset/explorables/base.py                       |   168 +-
 superset/extensions/__init__.py                    |    10 +
 superset/initialization/__init__.py                |    11 +-
 superset/jinja_context.py                          |    37 +
 superset/mcp_service/CLAUDE.md                     |    19 +-
 superset/mcp_service/app.py                        |    69 +-
 superset/mcp_service/auth.py                       |    17 +-
 superset/mcp_service/chart/ascii_charts.py         |    43 +-
 superset/mcp_service/chart/compile.py              |   362 +
 superset/mcp_service/chart/schemas.py              |   360 +-
 superset/mcp_service/chart/tool/generate_chart.py  |   158 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |   233 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    60 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   114 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |   228 +-
 .../chart/tool/get_chart_type_schema.py            |    25 +-
 superset/mcp_service/chart/tool/list_charts.py     |    60 +-
 superset/mcp_service/chart/tool/update_chart.py    |   125 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    93 +-
 .../chart/validation/dataset_validator.py          |   161 +-
 superset/mcp_service/chart/validation/pipeline.py  |    84 +-
 superset/mcp_service/common/cache_schemas.py       |    67 +-
 superset/mcp_service/common/schema_discovery.py    |    25 +-
 superset/mcp_service/dashboard/schemas.py          |   481 +-
 .../tool/add_chart_to_existing_dashboard.py        |    25 +-
 .../dashboard/tool/generate_dashboard.py           |    34 +-
 .../dashboard/tool/get_dashboard_info.py           |    68 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |    28 +-
 superset/mcp_service/database/schemas.py           |    28 +-
 .../mcp_service/database/tool/get_database_info.py |    14 +
 .../mcp_service/database/tool/list_databases.py    |    27 +-
 superset/mcp_service/dataset/schemas.py            |   379 +-
 superset/mcp_service/dataset/tool/__init__.py      |     2 +
 .../dataset/tool/create_virtual_dataset.py         |     2 +-
 .../mcp_service/dataset/tool/get_dataset_info.py   |    14 +
 superset/mcp_service/dataset/tool/list_datasets.py |    47 +-
 superset/mcp_service/dataset/tool/query_dataset.py |   489 +
 .../explore/tool/generate_explore_link.py          |    66 +-
 superset/mcp_service/mcp_config.py                 |    10 +-
 superset/mcp_service/mcp_core.py                   |   297 +-
 superset/mcp_service/middleware.py                 |   214 +-
 superset/mcp_service/privacy.py                    |   209 +
 superset/mcp_service/server.py                     |   212 +-
 superset/mcp_service/sql_lab/schemas.py            |     8 +
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    24 +-
 .../sql_lab/tool/open_sql_lab_with_context.py      |    88 +-
 superset/mcp_service/system/schemas.py             |    96 +-
 superset/mcp_service/system/tool/__init__.py       |     2 +
 .../mcp_service/system/tool/generate_bug_report.py |   325 +
 .../mcp_service/system/tool/get_instance_info.py   |    16 +
 superset/mcp_service/system/tool/get_schema.py     |    56 +-
 superset/mcp_service/utils/__init__.py             |     5 +
 superset/mcp_service/utils/error_builder.py        |    12 +
 superset/mcp_service/utils/error_sanitization.py   |   109 +
 superset/mcp_service/utils/permissions_utils.py    |    17 +-
 superset/mcp_service/utils/sanitization.py         |   164 +
 superset/mcp_service/utils/schema_utils.py         |     5 +-
 superset/mcp_service/utils/token_utils.py          |    97 +-
 ...6_33d7e0e21daa_add_semantic_layers_and_views.py |   168 +
 ...b46d_add_sort_by_series_to_word_cloud_charts.py |    89 -
 superset/models/helpers.py                         |    46 +-
 superset/models/sql_lab.py                         |    34 +-
 superset/queries/api.py                            |    11 +-
 superset/queries/saved_queries/api.py              |     6 +-
 superset/queries/schemas.py                        |     1 +
 superset/reports/api.py                            |    12 +-
 superset/reports/logs/api.py                       |    12 +-
 superset/reports/models.py                         |     8 +-
 superset/row_level_security/api.py                 |     4 +-
 superset/security/api.py                           |     4 +-
 superset/security/manager.py                       |   319 +-
 .../semantic_layers}/__init__.py                   |     0
 superset/semantic_layers/api.py                    |  1147 +
 superset/semantic_layers/labels.py                 |   105 +
 superset/semantic_layers/mapper.py                 |   912 +
 superset/semantic_layers/models.py                 |   556 +
 .../utils.py => semantic_layers/registry.py}       |     9 +-
 superset/semantic_layers/schemas.py                |    45 +
 superset/sql/dialects/__init__.py                  |    12 +-
 .../__init__.py => sql/dialects/opensearch.py}     |    19 +-
 superset/sql/dialects/vertica.py                   |    87 +
 superset/sql/parse.py                              |     9 +-
 superset/sqllab/api.py                             |     4 +-
 superset/sqllab/utils.py                           |     6 +-
 superset/superset_typing.py                        |    51 +-
 superset/tags/api.py                               |     6 +-
 superset/tasks/async_queries.py                    |     5 +
 superset/tasks/cache.py                            |     2 +-
 superset/templates/superset/spa.html               |     7 +
 superset/themes/api.py                             |     6 +-
 .../{ca => cs}/LC_MESSAGES/messages.po             | 11114 ++---
 superset/translations/ja/LC_MESSAGES/messages.po   |  7284 ++--
 .../{de => lv}/LC_MESSAGES/messages.po             | 11682 +++--
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  3835 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   733 +-
 superset/translations/uk/LC_MESSAGES/messages.po   | 10465 +++--
 superset/utils/cache_keys.py                       |    54 +
 superset/utils/core.py                             |    37 +-
 superset/utils/database.py                         |    22 +-
 superset/utils/webdriver.py                        |     6 +-
 superset/views/api.py                              |     4 +-
 superset/views/base.py                             |    23 +-
 superset/views/base_api.py                         |    12 +-
 superset/views/core.py                             |    11 +-
 superset/views/datasource/views.py                 |    11 +-
 superset/views/log/api.py                          |     4 +-
 superset/views/utils.py                            |     1 +
 superset/viz.py                                    |    25 +
 .../advanced_data_type/api_tests.py                |    10 +-
 .../annotation_layers/api_tests.py                 |    28 +-
 tests/integration_tests/base_api_tests.py          |    12 +-
 tests/integration_tests/base_tests.py              |     4 +-
 tests/integration_tests/charts/api_tests.py        |    80 +-
 tests/integration_tests/core_tests.py              |    55 +-
 tests/integration_tests/css_templates/api_tests.py |    18 +-
 tests/integration_tests/dashboards/api_tests.py    |    74 +-
 tests/integration_tests/dashboards/base_case.py    |     4 +-
 .../dashboards/security/security_dataset_tests.py  |     4 +-
 .../dashboards/test_update_emoji.py                |   111 +
 tests/integration_tests/databases/api_tests.py     |    46 +-
 tests/integration_tests/datasets/api_tests.py      |    38 +-
 tests/integration_tests/datasource/api_tests.py    |    52 +
 tests/integration_tests/datasource_tests.py        |    16 +-
 tests/integration_tests/log_api_tests.py           |    14 +-
 tests/integration_tests/queries/api_tests.py       |    96 +-
 .../queries/saved_queries/api_tests.py             |    42 +-
 tests/integration_tests/query_context_tests.py     |   226 +-
 tests/integration_tests/reports/api_tests.py       |    26 +-
 .../security/row_level_security_tests.py           |    16 +-
 tests/integration_tests/security_tests.py          |     4 +-
 tests/integration_tests/sql_lab/api_tests.py       |     6 +-
 tests/integration_tests/sqllab_tests.py            |     6 +-
 tests/integration_tests/strategy_tests.py          |    20 +-
 tests/integration_tests/tags/api_tests.py          |    10 +-
 tests/integration_tests/tasks/api_tests.py         |    10 +-
 .../integration_tests/test_granular_export_api.py  |    10 +-
 tests/integration_tests/themes/api_tests.py        |    18 +-
 tests/integration_tests/users/api_tests.py         |     2 +
 tests/integration_tests/viz_tests.py               |    39 +
 .../unit_tests/commands/datasource}/__init__.py    |     0
 tests/unit_tests/commands/datasource/list_test.py  |   162 +
 .../commands/importers/v1/assets_test.py           |    19 +-
 tests/unit_tests/commands/report/execute_test.py   |   111 +
 .../commands/semantic_layer}/__init__.py           |     0
 .../commands/semantic_layer/create_test.py         |   230 +
 .../commands/semantic_layer/delete_test.py         |   164 +
 .../commands/semantic_layer/exceptions_test.py     |    91 +
 .../commands/semantic_layer/update_test.py         |   326 +
 .../common/test_query_context_processor.py         |   227 +
 tests/unit_tests/databases/api_test.py             |     4 +-
 .../datasets/test_datetime_format_detector.py      |    57 +
 tests/unit_tests/datasource/dao_tests.py           |    29 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |    31 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |    41 +
 tests/unit_tests/db_engine_specs/test_presto.py    |    44 +
 tests/unit_tests/db_engine_specs/test_trino.py     |    44 +
 tests/unit_tests/extension_tests.py                |    47 +
 tests/unit_tests/jinja_context_test.py             |    95 +
 .../mcp_service/chart/test_ascii_charts.py         |   175 +
 .../mcp_service/chart/test_chart_schemas.py        |   132 +-
 tests/unit_tests/mcp_service/chart/test_compile.py |   445 +
 .../mcp_service/chart/tool/test_generate_chart.py  |   121 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |   132 +-
 .../mcp_service/chart/tool/test_get_chart_info.py  |   255 +
 .../chart/tool/test_get_chart_preview.py           |   397 +-
 .../mcp_service/chart/tool/test_get_chart_sql.py   |   547 +-
 .../chart/tool/test_get_chart_type_schema.py       |    18 +
 .../mcp_service/chart/tool/test_list_charts.py     |    97 +-
 .../mcp_service/chart/tool/test_update_chart.py    |   209 +-
 .../chart/tool/test_update_chart_preview.py        |   383 +-
 .../validation/test_column_name_normalization.py   |    13 +
 .../validation/test_pipeline_error_surface.py      |   308 +
 .../dashboard/test_dashboard_schemas.py            |   296 +-
 .../dashboard/tool/test_dashboard_generation.py    |    78 +
 .../dashboard/tool/test_dashboard_tools.py         |   720 +-
 .../database/tool/test_database_tools.py           |   134 +-
 .../mcp_service/dataset/tool/test_dataset_tools.py |   401 +-
 .../mcp_service/dataset/tool/test_query_dataset.py |   831 +
 .../explore/tool/test_generate_explore_link.py     |   131 +
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |    99 +
 .../sql_lab/tool/test_open_sql_lab_with_context.py |   305 +
 .../system/tool/test_generate_bug_report.py        |   455 +
 .../system/tool/test_get_current_user.py           |   194 +-
 .../mcp_service/system/tool/test_get_schema.py     |    50 +
 .../mcp_service/system/tool/test_mcp_core.py       |   251 +
 tests/unit_tests/mcp_service/test_auth_api_key.py  |    44 +-
 .../mcp_service/test_auth_user_resolution.py       |    37 +
 tests/unit_tests/mcp_service/test_mcp_config.py    |    13 +
 tests/unit_tests/mcp_service/test_mcp_core.py      |   314 +
 tests/unit_tests/mcp_service/test_middleware.py    |   606 +-
 tests/unit_tests/mcp_service/test_privacy.py       |   108 +
 .../mcp_service/test_schema_discovery.py           |    53 +-
 .../mcp_service/test_tool_search_transform.py      |   360 +-
 .../mcp_service/utils/test_permissions_utils.py    |    73 +
 .../mcp_service/utils/test_sanitization.py         |   346 +
 .../mcp_service/utils/test_token_utils.py          |    66 +-
 tests/unit_tests/models/core_test.py               |     6 +-
 tests/unit_tests/models/helpers_test.py            |   510 +-
 tests/unit_tests/queries/query_object_test.py      |    55 +-
 tests/unit_tests/reports/api_test.py               |     6 +-
 tests/unit_tests/security/api_test.py              |     2 +-
 tests/unit_tests/semantic_layers/api_test.py       |  2321 +
 tests/unit_tests/semantic_layers/dao_test.py       |    85 +
 .../unit_tests/semantic_layers/decorators_test.py  |   103 +
 tests/unit_tests/semantic_layers/labels_test.py    |    52 +
 tests/unit_tests/semantic_layers/mapper_test.py    |  2743 ++
 tests/unit_tests/semantic_layers/models_test.py    |  1267 +
 tests/unit_tests/semantic_layers/schemas_test.py   |   296 +
 tests/unit_tests/sql/dialects/opensearch_tests.py  |   255 +
 tests/unit_tests/sql/dialects/vertica_tests.py     |   197 +
 tests/unit_tests/sql/transpile_to_dialect_test.py  |   124 +
 tests/unit_tests/sql_lab_test.py                   |     2 +-
 tests/unit_tests/tasks/test_async_queries.py       |   174 +-
 tests/unit_tests/test_viz_cache_key.py             |   111 +
 tests/unit_tests/test_viz_get_df_payload.py        |   111 +
 tests/unit_tests/utils/test_core.py                |    42 +
 tests/unit_tests/utils/test_database.py            |    53 +
 .../utils/test_impersonation_cache_key.py          |   107 +
 tests/unit_tests/utils/webdriver_test.py           |   108 +
 tests/unit_tests/views/test_base.py                |   139 +
 848 files changed, 95911 insertions(+), 54707 deletions(-)
 create mode 100644 docs/docs/using-superset/handlebars-chart.mdx
 create mode 100644 docs/src/components/GetStartedSplitButton.tsx
 create mode 100644 docs/src/theme/NavbarItem/ComponentTypes.tsx
 copy superset-frontend/src/dashboard/util/componentIsResizable.ts => docs/src/theme/NavbarItem/GetStartedSplitNavbarItem.tsx (73%)
 create mode 100644 superset-core/src/superset_core/semantic_layers/config.py
 create mode 100644 superset-core/src/superset_core/semantic_layers/daos.py
 create mode 100644 superset-core/src/superset_core/semantic_layers/decorators.py
 create mode 100644 superset-core/src/superset_core/semantic_layers/layer.py
 create mode 100644 superset-core/src/superset_core/semantic_layers/models.py
 create mode 100644 superset-core/src/superset_core/semantic_layers/types.py
 create mode 100644 superset-core/src/superset_core/semantic_layers/view.py
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/shared-controls/matrixifyControls.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/DynamicEditableTitle/DynamicEditableTitle.regression.test.tsx
 delete mode 100644 superset-frontend/playwright/fixtures/dataset_export.zip
 create mode 100644 superset-frontend/playwright/generators/docs/screenshot-manifest.yaml
 copy superset-frontend/playwright/helpers/api/{savedQuery.ts => sqllab.ts} (56%)
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/memoization.test.ts
 delete mode 100644 superset-frontend/plugins/plugin-chart-handlebars/README.md
 create mode 100644 superset-frontend/plugins/plugin-chart-handlebars/test/plugin/controls.test.ts
 create mode 100644 superset-frontend/src/components/Chart/DrillDetail/DownloadDropdown.test.tsx
 create mode 100644 superset-frontend/src/components/Chart/DrillDetail/DownloadDropdown.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/state.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/dependencyGraph.ts
 copy superset-frontend/{packages/superset-ui-core/src/components/Slider/Slider.test.tsx => src/explore/components/controls/ColumnConfigControl/ColumnConfigConstants.test.tsx} (59%)
 create mode 100644 superset-frontend/src/features/cssTemplates/CssTemplateModal.test.tsx
 create mode 100644 superset-frontend/src/features/semanticLayers/SemanticLayerModal.test.tsx
 create mode 100644 superset-frontend/src/features/semanticLayers/SemanticLayerModal.tsx
 create mode 100644 superset-frontend/src/features/semanticLayers/jsonFormsHelpers.test.ts
 create mode 100644 superset-frontend/src/features/semanticLayers/jsonFormsHelpers.tsx
 create mode 100644 superset-frontend/src/features/semanticLayers/label.ts
 create mode 100644 superset-frontend/src/features/semanticViews/AddSemanticViewModal.test.tsx
 create mode 100644 superset-frontend/src/features/semanticViews/AddSemanticViewModal.tsx
 create mode 100644 superset-frontend/src/features/semanticViews/SemanticViewEditModal.test.tsx
 create mode 100644 superset-frontend/src/features/semanticViews/SemanticViewEditModal.tsx
 copy {superset-core/src/superset_core/common => superset/commands/datasource}/__init__.py (100%)
 create mode 100644 superset/commands/datasource/list.py
 copy {superset-core/src/superset_core/common => superset/commands/semantic_layer}/__init__.py (100%)
 create mode 100644 superset/commands/semantic_layer/create.py
 create mode 100644 superset/commands/semantic_layer/delete.py
 create mode 100644 superset/commands/semantic_layer/exceptions.py
 create mode 100644 superset/commands/semantic_layer/update.py
 create mode 100644 superset/daos/semantic_layer.py
 create mode 100644 superset/datasource/schemas.py
 create mode 100644 superset/mcp_service/chart/compile.py
 create mode 100644 superset/mcp_service/dataset/tool/query_dataset.py
 create mode 100644 superset/mcp_service/privacy.py
 create mode 100644 superset/mcp_service/system/tool/generate_bug_report.py
 create mode 100644 superset/mcp_service/utils/error_sanitization.py
 create mode 100644 superset/migrations/versions/2025-11-04_11-26_33d7e0e21daa_add_semantic_layers_and_views.py
 delete mode 100644 superset/migrations/versions/2026-04-13_19-28_fd0c8583b46d_add_sort_by_series_to_word_cloud_charts.py
 copy {superset-core/src/superset_core/common => superset/semantic_layers}/__init__.py (100%)
 create mode 100644 superset/semantic_layers/api.py
 create mode 100644 superset/semantic_layers/labels.py
 create mode 100644 superset/semantic_layers/mapper.py
 create mode 100644 superset/semantic_layers/models.py
 copy superset/{temporary_cache/utils.py => semantic_layers/registry.py} (84%)
 create mode 100644 superset/semantic_layers/schemas.py
 copy superset/{mcp_service/utils/__init__.py => sql/dialects/opensearch.py} (74%)
 create mode 100644 superset/sql/dialects/vertica.py
 copy superset/translations/{ca => cs}/LC_MESSAGES/messages.po (50%)
 copy superset/translations/{de => lv}/LC_MESSAGES/messages.po (50%)
 create mode 100644 superset/utils/cache_keys.py
 create mode 100644 tests/integration_tests/dashboards/test_update_emoji.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/commands/datasource}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/datasource/list_test.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/commands/semantic_layer}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/semantic_layer/create_test.py
 create mode 100644 tests/unit_tests/commands/semantic_layer/delete_test.py
 create mode 100644 tests/unit_tests/commands/semantic_layer/exceptions_test.py
 create mode 100644 tests/unit_tests/commands/semantic_layer/update_test.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_ascii_charts.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_compile.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_get_chart_info.py
 create mode 100644 tests/unit_tests/mcp_service/chart/validation/test_pipeline_error_surface.py
 create mode 100644 tests/unit_tests/mcp_service/dataset/tool/test_query_dataset.py
 create mode 100644 tests/unit_tests/mcp_service/sql_lab/tool/test_open_sql_lab_with_context.py
 create mode 100644 tests/unit_tests/mcp_service/system/tool/test_generate_bug_report.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_core.py
 create mode 100644 tests/unit_tests/mcp_service/test_privacy.py
 copy superset/migrations/versions/2022-08-31_19-30_291f024254b5_drop_column_allow_multi_schema_metadata_fetch.py => tests/unit_tests/mcp_service/test_schema_discovery.py (51%)
 create mode 100644 tests/unit_tests/mcp_service/utils/test_permissions_utils.py
 create mode 100644 tests/unit_tests/semantic_layers/api_test.py
 create mode 100644 tests/unit_tests/semantic_layers/dao_test.py
 create mode 100644 tests/unit_tests/semantic_layers/decorators_test.py
 create mode 100644 tests/unit_tests/semantic_layers/labels_test.py
 create mode 100644 tests/unit_tests/semantic_layers/mapper_test.py
 create mode 100644 tests/unit_tests/semantic_layers/models_test.py
 create mode 100644 tests/unit_tests/semantic_layers/schemas_test.py
 create mode 100644 tests/unit_tests/sql/dialects/opensearch_tests.py
 create mode 100644 tests/unit_tests/sql/dialects/vertica_tests.py
 create mode 100644 tests/unit_tests/test_viz_cache_key.py
 create mode 100644 tests/unit_tests/test_viz_get_df_payload.py
 create mode 100644 tests/unit_tests/utils/test_database.py
 create mode 100644 tests/unit_tests/utils/test_impersonation_cache_key.py
 create mode 100644 tests/unit_tests/views/test_base.py