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