You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jl...@apache.org on 2026/05/05 17:30:55 UTC

(superset) branch sc-91230-conditional-formatting-no-data updated (fa05dc705f7 -> a7f48d7c584)

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

sadpandajoe pushed a change to branch sc-91230-conditional-formatting-no-data
in repository https://gitbox.apache.org/repos/asf/superset.git


    from fa05dc705f7 fix(table): fall back to datasource columns for conditional formatting when query results are empty
     add c971ea3ec64 fix(heatmap): skip orderby for value-based axis sorts (#39290)
     add da371217ef6 fix: revert and restore server-side sorting for value axis sorts (#39331)
     add 1462ac92823 fix(dashboard): Ensure screenshot downloads always generate fresh images/pdfs (#38880)
     add 0f417f00408 fix(dashboard): preserve dynamic group by column order (#39333)
     add 66a9e2e16ed fix(explore): Prevent error toast when navigating away from Explore page (#39065)
     add 5138aa2c114 fix(select): select all button cutoff (#39005)
     add c2a35e2eeae fix(popup): Dropdown popup width doesn't match input width when tags collapse in oneLine mode (#39136)
     add 499e27ea54e fix(native-filter): infinite filter loading by deps (#39175)
     add f836c3eccd5 chore(deps-dev): bump typescript-eslint from 8.58.0 to 8.58.2 in /superset-websocket (#39337)
     add fa97d0357f3 chore(deps-dev): bump globals from 17.4.0 to 17.5.0 in /superset-websocket (#39310)
     add 6287a07912d chore(deps): bump anthropics/claude-code-action from 1.0.89 to 1.0.93 (#39318)
     add 002d8ad1e41 chore(deps-dev): bump @types/node from 25.5.0 to 25.6.0 in /superset-frontend (#39265)
     add 3e25f02da98 test(sqllab): migrate Cypress E2E tests to Playwright (#39071)
     add 86575e129b7 fix(native-filters): prevent infinite recursion in filter scope tree traversal (#39355)
     add ffcc6e8b635 fix(MCP): fix MCP logs (#39159)
     add 411f7698964 feat(filters): Adding empty state for filter modal (#38909)
     add b76080e2917 feat(security): add granular export controls - Phase 2 + 3 (#38581)
     add 4b88fc57b46 chore(deps-dev): bump prettier from 3.8.2 to 3.8.3 in /superset-websocket (#39358)
     add 8d9b5bd479a chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /docs (#39352)
     add ddcb9be9a77 fix(sqllab): show schema refresh icon only on hover (#39367)
     add 84f7b4a9731 fix: `do_ping` takes a connection, not engine (#39013)
     add 724f1484b92 chore(mcp): update CLAUDE.md to reflect current codebase patterns (#39348)
     add b2bd2329bc9 chore(deps-dev): bump wait-on from 9.0.4 to 9.0.5 in /superset-frontend (#39322)
     add a6156676c82 chore(deps): bump fuse.js from 7.1.0 to 7.3.0 in /superset-frontend (#39146)
     add 5661fc91285 chore(deps): bump anthropics/claude-code-action from 1.0.93 to 1.0.96 + temporarily stop Dependabot PR for claude-code-action due to high release frequency but low usage(#39360)
     add 0d91f5e9823 chore(deps): bump markdown-to-jsx from 9.7.13 to 9.7.15 in /superset-frontend (#39217)
     add 18d6feb4994 feat(mcp): add create_virtual_dataset tool to save SQL queries as datasets (#39279)
     add 44e77fdf2b7 fix(explore): dispatch onChange immediately on NumberControl stepper arrow clicks (#39220)
     add c2d96e0dce1 fix(table): fix cross-filter not clearing on second click in Interactive Table (#39253)
     add c3a0f2749b5 fix(dashboard): apply dynamic groupby display controls to scoped charts (#39356)
     add 8471e823426 fix(css-templates): add missing height to CSS editor in CssTemplateModal (#39221)
     add b3e88db87e4 fix(table): use column label instead of SQL expression for orderby in downloads (#39332)
     add 998b9e387b4 fix(ListView): empty state not filling available width (#39387)
     add b11d4f3ef09 fix(i18n): typo in fr language (#36982)
     add 388596e4fe1 chore(deps): bump baseline-browser-mapping from 2.10.13 to 2.10.16 in /docs (#39148)
     add 45d5501aa7f fix(documentation): FAQ grammar for SQL query wording (#38923)
     add c1a1f2e7e77 docs: add Hifadih Business & Technology to In the Wild (#38824)
     add eaccb2e471b fix(EmptyState): prevent SVG cropping in empty state images (#37287)
     add e0dcb2908db chore(deps): bump swagger-ui-react from 5.32.1 to 5.32.4 in /docs (#39377)
     add e542e9f8403 chore(deps): bump actions/cache from 5.0.4 to 5.0.5 (#39368)
     add f4a6ea0fde3 chore(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#39267)
     add e11a50bedfc chore(deps): bump @docusaurus/faster from 3.9.2 to 3.10.0 in /docs (#39195)
     add 61c45e3dd87 chore(deps-dev): bump @docusaurus/module-type-aliases from 3.9.2 to 3.10.0 in /docs (#39194)
     add 76a209663d5 chore(deps-dev): bump baseline-browser-mapping from 2.10.13 to 2.10.16 in /superset-frontend (#39150)
     add 05227e8a804 chore(deps): bump caniuse-lite from 1.0.30001786 to 1.0.30001788 in /docs (#39376)
     add 84af6c9f297 chore(deps-dev): bump @docusaurus/tsconfig from 3.9.2 to 3.10.0 in /docs (#39189)
     add 838ee870d02 fix(mcp): update instructions to use correct request wrapper and identifier params (#39392)
     add e7b9fb277eb fix(mcp): always push fresh app context per tool call to prevent g.user race (#39385)
     add 0b51e9cd5e3 fix(sqllab): format_sql to apply db dialect by database_id (#39393)
     add 0b419a07f54 fix: add comments to SQL clause validation (#39167)
     add 7c76fd3d81a fix(SelectFilter): auto clear search input (#39157)
     add cd7dddb5a1a chore(deps): bump baseline-browser-mapping from 2.10.16 to 2.10.19 in /docs (#39373)
     add 735dd5dbae6 chore(deps): bump @swc/core from 1.15.21 to 1.15.24 in /docs (#39133)
     add 69f062b804a feat(mcp): add a preview flow to mcp chart updates (#39383)
     add e5820b6b2b1 chore: Bump core packages to 0.1.0 RC2 (#39406)
     add 8ce234371b9 test(core): restore 100% TS coverage for core-packages-ts (copy utility) (#39384)
     add f850c6b1b18 fix(parallel-coordinates): improve dark mode visibility for labels, axis text, and data lines (#39415)
     add c2897312123 fix(mcp): prevent LLM from creating new dashboard instead of adding chart to existing one (#39353)
     add e5b3a9c25db fix(mcp): replace inputSchema with parameters_hint in search_tools results by default (#39411)
     add 2e0d482ccf5 fix(mcp): support explicit query_mode in TableChartConfig (#39412)
     add db7a2bd6822 chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 in /superset-frontend (#39418)
     add 4bdc8d4c681 fix(sqllab): Relocate schema display on table preview (#39420)
     add be680408c95 fix(sqllab): enhance table explore tree with schema pinning, column sorting, and table schema refresh (#39396)
     add 690a411cf32 chore(ci): require PMC review for CI-executed scripts (#39462)
     add 3d85e8e23b0 chore: publish wheels (#36746)
     add 4ae16cb1408 chore(deps-dev): bump typescript-eslint from 8.58.0 to 8.58.2 in /docs (#39426)
     add f0ef9f5e9c7 chore(deps-dev): bump webpack from 5.105.4 to 5.106.2 in /docs (#39401)
     add cd6ce881a57 chore(deps): bump dompurify from 3.3.3 to 3.4.0 in /docs (#39398)
     add a7310b1fce0 chore(deps): bump @docusaurus/core from 3.9.2 to 3.10.0 in /docs (#39188)
     add e535dce0302 chore(deps-dev): bump prettier from 3.8.1 to 3.8.3 in /docs (#39400)
     add ce5b2aa4243 chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#39320)
     add a9487cbc84a chore(deps): bump aws-actions/amazon-ecr-login from 2.1.2 to 2.1.3 (#39403)
     add 03725d1aaa5 chore(deps): bump dompurify from 3.3.3 to 3.4.0 in /superset-frontend (#39399)
     add fca64de8e94 chore(deps-dev): bump prettier from 3.8.2 to 3.8.3 in /superset-frontend (#39372)
     add 55625c911f6 chore(deps-dev): bump timezone-mock from 1.4.0 to 1.4.2 in /superset-frontend (#38049)
     add fbd062165e2 chore(deps): bump @swc/core from 1.15.24 to 1.15.26 in /docs (#39374)
     add 51ea2c297d0 fix(dataset): calculated columns in virtual datasets fail when used as dynamic aggregation filter dimensions (#39004)
     add 0857611a4e8 fix(mcp): Add defensive validator for ColumnInfo.is_nullable (#39365)
     add 16387b08153 fix(sqllab): remove duplicate tooltip on share query link icon (#39289)
     add 5cff6578121 fix(mcp): default XY chart x-axis to dataset primary datetime column (#39421)
     add e5f9a6bf4bc chore(lint): convert superset-ui-core chart-composition to function components (#39455)
     add 7d3881f1da7 docs: Added instructions on configuring Superset SECRET_KEY (#25646)
     add dc9b459b27f chore(deps): bump actions/setup-node from 6.3.0 to 6.4.0 (#39481)
     add 899e9294b24 chore(deps): bump maplibre-gl from 5.22.0 to 5.23.0 in /superset-frontend (#39475)
     add 9fe3f634ec6 perf(sql-lab): debounce schema browser search (#39489)
     add bf7ec853fa5 fix(big-number): use correct default font size for subtitle/subheader (#39493)
     add 4f2fa41f4ef fix(a11y): WCAG 3.1.2 — set HTML lang attribute dynamically from locale (#39243)
     add 52ba4fd0cb9 chore(deps): bump antd from 6.3.5 to 6.3.6 in /docs (#39480)
     add 06818008c22 chore(deps-dev): bump eslint from 10.2.0 to 10.2.1 in /superset-websocket (#39473)
     add 78fb09695b8 fix(chart): word cloud secondary sort prevents Druid TopN optimization when sort_by_metric enabled (#39073)
     add d3de16c5f51 fix(dashboard): restore groupby in buildExistingColumnsSet and guard null customization config (#39416)
     add c4cf03f8995 fix(import): import tags during CLI native asset import (#39495)
     add 6948e73ec7b feat(mcp): add get_chart_sql tool and expose chart filters in get_chart_info (#38700)
     add 5fb89b865da fix(oauth2): silence lock acquisition errors on token refresh (#39463)
     add 6535fdd5567 chore: simplify Trino's OAuth detection (#39496)
     add e1bdb94efc2 chore(deps-dev): bump globals from 17.4.0 to 17.5.0 in /docs (#39479)
     add 11607dde04b feat(sqllab): syntax validation for sqlite-based DB engine specs (#38698)
     add 4f19bc4c5f7 fix(table): ensure dimensions appear before metrics in column order (#39346)
     add 151d7d76da2 fix(charts): set g.form_data for metric() Jinja macro on GET chart data endpoint (#39347)
     add 230b25dd729 fix(deckgl): UI fixes on deck.gl exclude layers (#38958)
     add a222dab781e feat(dashboard): pre-filter time grain (#38922)
     add 191337e08d8 fix(db oauth2): Improve OAuth2 flow (#39499)
     add 29806780dc4 chore(mcp): remove dead parse_request decorator and utility code (#39498)
     add a9761932bcb fix(security): patch CVEs in cryptography, mako, pyarrow, pyopenssl, requests (#39523)
     add b4000a025d7 chore(deps): bump @swc/core from 1.15.26 to 1.15.30 in /docs (#39478)
     add a4a67296af0 chore(deps): bump ag-grid-community from 35.0.1 to 35.2.1 in /superset-frontend (#39382)
     add 0f2769ca3e7 fix(a11y): WCAG 3.2.3 — add aria-labels to navigation landmarks (#39244)
     add 919daabe54b fix(mcp): clear stale query_context in update_chart so filters and row_limit are applied (#39413)
     add 33deb028a6d chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /docs (#39427)
     add c1a3de719a9 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#39474)
     add 5e3a7ba106c chore(deps): bump mapbox-gl from 3.20.0 to 3.21.0 in /superset-frontend (#39091)
     add bd8d3ffb2da chore(deps): bump ag-grid-community from 35.0.1 to 35.2.1 in /superset-frontend/packages/superset-ui-core (#39371)
     add e45330c2fd3 chore(deps-dev): bump oxlint from 1.56.0 to 1.60.0 in /superset-frontend (#39375)
     add b302071723c chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.9.2 to 0.9.3 in /superset-frontend (#39264)
     add a89f9bcb98a chore(deps-dev): bump @typescript-eslint/parser from 8.58.2 to 8.59.0 in /superset-websocket (#39513)
     add 67bc910eb58 chore(deps-dev): bump @typescript-eslint/parser from 8.58.2 to 8.59.0 in /docs (#39515)
     add 69d2da9c614 chore(deps): bump react-arborist from 3.4.3 to 3.5.0 in /superset-frontend (#39516)
     add af7a62ab3fc chore(deps): bump baseline-browser-mapping from 2.10.19 to 2.10.20 in /docs (#39477)
     add d7a8c1934a4 chore(deps-dev): bump typescript-eslint from 8.58.2 to 8.59.0 in /superset-websocket (#39511)
     add dd18b2eb540 chore(deps): update react requirement from ^19.2.1 to ^19.2.5 in /superset-frontend/plugins/legacy-plugin-chart-chord (#39215)
     add ef290b28e24 chore(deps): bump mapbox-gl from 3.20.0 to 3.22.0 in /superset-frontend (#39510)
     add e77cfc93ed5 chore(deps): bump geostyler-openlayers-parser from 5.4.1 to 5.7.0 in /superset-frontend (#39518)
     add a51bbd46dcc chore(deps-dev): bump oxlint from 1.56.0 to 1.60.0 in /superset-frontend (#39151)
     add 003c2321921 chore(deps-dev): bump typescript-eslint from 8.58.2 to 8.59.0 in /docs (#39517)
     add fb3e129d623 chore(deps-dev): bump @types/jquery from 3.5.33 to 4.0.0 in /superset-frontend (#38239)
     add c3734985431 chore(deps-dev): bump the storybook group across 1 directory with 11 updates (#38503)
     add 05fc5bb424f chore(deps): bump react-checkbox-tree from 1.8.0 to 2.0.1 in /superset-frontend (#39476)
     add e6853894ab1 chore(mcp): extract shared chart helpers and ASCII rendering into separate modules (#39438)
     add e1ed5003a89 docs: Superset 6.1 documentation catch-up — batch 5 (#39454)
     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 a7f48d7c584 Merge branch 'master' into sc-91230-conditional-formatting-no-data

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |     9 +
 .github/dependabot.yml                             |    16 +-
 .github/labeler.yml                                |    15 +
 .github/workflows/bashlib.sh                       |    14 +
 .github/workflows/check_db_migration_confict.yml   |     2 +-
 .github/workflows/claude.yml                       |     4 +-
 .github/workflows/embedded-sdk-release.yml         |     2 +-
 .github/workflows/embedded-sdk-test.yml            |     2 +-
 .github/workflows/ephemeral-env-pr-close.yml       |     4 +-
 .github/workflows/ephemeral-env.yml                |    20 +-
 .github/workflows/github-action-validator.yml      |     2 +-
 .github/workflows/no-hold-label.yml                |     2 +-
 .github/workflows/pre-commit.yml                   |     4 +-
 .github/workflows/release.yml                      |     6 +-
 .github/workflows/showtime-trigger.yml             |     2 +-
 .github/workflows/superset-docs-deploy.yml         |     6 +-
 .github/workflows/superset-docs-verify.yml         |     6 +-
 .github/workflows/superset-e2e.yml                 |     8 +-
 .github/workflows/superset-extensions-cli.yml      |     2 +-
 .github/workflows/superset-frontend.yml            |     4 +-
 .github/workflows/superset-helm-release.yml        |     2 +-
 .github/workflows/superset-playwright.yml          |     4 +-
 .../workflows/superset-python-integrationtest.yml  |     2 +-
 .github/workflows/superset-python-unittest.yml     |     1 +
 .github/workflows/superset-translations.yml        |     2 +-
 .github/workflows/supersetbot.yml                  |     2 +-
 .github/workflows/tag-release.yml                  |     4 +-
 .github/workflows/tech-debt.yml                    |     2 +-
 .gitignore                                         |     1 +
 Dockerfile                                         |     2 +-
 RELEASING/README.md                                |     2 +-
 RESOURCES/INTHEWILD.yaml                           |     9 +
 UPDATING.md                                        |    21 +
 docker/pythonpath_dev/superset_config.py           |     8 +-
 docs/admin_docs/configuration/aws-iam.mdx          |   162 +
 docs/admin_docs/configuration/cache.mdx            |    39 +-
 .../configuration/configuring-superset.mdx         |    28 +
 .../importing-exporting-datasources.mdx            |    31 +
 docs/admin_docs/configuration/mcp-server.mdx       |   161 +
 .../configuration/networking-settings.mdx          |     4 +-
 docs/admin_docs/configuration/theming.mdx          |    45 +-
 docs/admin_docs/configuration/timezones.mdx        |     2 +-
 docs/admin_docs/installation/kubernetes.mdx        |     2 +-
 docs/admin_docs/security/security.mdx              |   146 +-
 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 +-
 docs/docs/faq.mdx                                  |     2 +-
 docs/docs/security/granular-export-controls.mdx    |    78 +
 .../creating-your-first-dashboard.mdx              |   130 +-
 docs/docs/using-superset/embedding.mdx             |   131 +
 docs/docs/using-superset/exploring-data.mdx        |    21 +
 docs/docs/using-superset/handlebars-chart.mdx      |   143 +
 docs/docs/using-superset/sql-templating.mdx        |    24 +
 .../docs/using-superset/using-ai-with-superset.mdx |    77 +-
 docs/docusaurus.config.ts                          |    51 +-
 docs/package.json                                  |    44 +-
 docs/scripts/generate-superset-components.mjs      |    98 +-
 docs/src/components/GetStartedSplitButton.tsx      |   155 +
 docs/src/data/databases.json                       |   163 +-
 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/logos/hifadih.png                  |   Bin 0 -> 18383 bytes
 docs/tsconfig.json                                 |     1 +
 .../configuration/configuring-superset.mdx         |     8 +
 docs/versioned_docs/version-6.0.0/faq.mdx          |     2 +-
 docs/yarn.lock                                     |  2105 +-
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |     2 +-
 helm/superset/values.yaml                          |     7 +
 pyproject.toml                                     |    25 +-
 requirements/base.in                               |    10 +
 requirements/base.txt                              |    30 +-
 requirements/development.txt                       |    31 +-
 scripts/oxlint.sh                                  |    12 +-
 superset-core/pyproject.toml                       |     8 +-
 .../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-extensions-cli/pyproject.toml             |     6 +-
 .../e2e/sqllab/_skip.sourcePanel.index.test.js     |    73 -
 .../cypress-base/cypress/e2e/sqllab/query.test.ts  |   192 -
 .../cypress/e2e/sqllab/sqllab.helper.js            |    41 -
 .../cypress-base/cypress/e2e/sqllab/tabs.test.ts   |   113 -
 superset-frontend/oxlint.json                      |    99 +-
 superset-frontend/package-lock.json                | 43765 +++++++++----------
 superset-frontend/package.json                     |   110 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../packages/superset-core/package.json            |    17 +-
 .../packages/superset-core/src/testing.tsx         |     4 +-
 .../superset-core/src/theme/GlobalStyles.tsx       |     6 +
 .../src/theme/utils/themeUtils.test.ts             |     2 +-
 .../superset-ui-chart-controls/package.json        |     9 +-
 .../src/sections/chartTitle.tsx                    |     6 +-
 .../superset-ui-chart-controls/src/types.ts        |     1 +
 .../packages/superset-ui-core/package.json         |    23 +-
 .../src/chart-composition/ChartFrame.tsx           |    63 +-
 .../src/chart-composition/legend/WithLegend.tsx    |   167 +-
 .../src/chart-composition/tooltip/TooltipFrame.tsx |    28 +-
 .../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 +-
 .../components/EmptyState/svgs/empty-dashboard.svg |   Bin 1631 -> 3078 bytes
 .../src/components/EmptyState/svgs/empty.svg       |   Bin 1944 -> 2690 bytes
 .../src/components/EmptyState/svgs/star-circle.svg |   Bin 2051 -> 2661 bytes
 .../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          |    74 +-
 .../src/components/Select/Select.tsx               |    29 +-
 .../src/components/Select/styles.tsx               |    10 +-
 .../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/ThemedAgGridReact/index.tsx     |     1 +
 .../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/Dashboard.ts  |     1 +
 .../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-comparison/getTimeOffset.test.ts     |    42 +-
 .../test/time-comparison/parseDttmToDate.test.ts   |   114 +-
 .../test/time-format/TimeFormatter.test.ts         |    15 +
 .../superset-ui-core/test/utils/copy.test.ts       |   216 +
 superset-frontend/playwright.config.ts             |    17 +
 .../playwright/components/core/AgGrid.ts           |    85 +
 .../components/core/EditableTabs.ts}               |    49 +-
 .../playwright/components/core/Modal.ts            |     4 +-
 .../components/core/Popover.ts}                    |    58 +-
 .../playwright/components/core/Select.ts           |     3 +-
 .../playwright/components/core/Tabs.ts             |    55 +-
 .../playwright/components/core/index.ts            |     3 +
 .../components/modals/EditDatasetModal.ts          |     7 +-
 .../components/modals/ImportDatasetModal.ts        |    18 +
 .../components/modals/SaveDatasetModal.ts}         |    33 +-
 .../components/modals/SaveQueryModal.ts}           |    30 +-
 .../playwright/components/modals/index.ts          |     2 +
 .../playwright/fixtures/dataset_export.zip         |   Bin 5261 -> 0 bytes
 .../playwright/helpers/api/assertions.ts           |    48 +-
 .../playwright/helpers/api/dataset.ts              |    15 +
 .../helpers/api/savedQuery.ts}                     |    38 +-
 .../playwright/helpers/api/{theme.ts => sqllab.ts} |    55 +-
 .../playwright/helpers/fixtures/testAssets.ts      |    25 +-
 superset-frontend/playwright/pages/AuthPage.ts     |     4 +-
 .../playwright/pages/CreateDatasetPage.ts          |     2 +-
 superset-frontend/playwright/pages/SqlLabPage.ts   |   371 +
 .../playwright/tests/auth/login.spec.ts            |    37 +-
 .../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 +-
 .../playwright/tests/sqllab/sqllab.spec.ts         |   315 +
 superset-frontend/playwright/utils/constants.ts    |    16 +
 superset-frontend/playwright/utils/urls.ts         |     1 +
 .../legacy-plugin-chart-calendar/package.json      |     2 +-
 .../plugins/legacy-plugin-chart-chord/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 +-
 .../src/ParallelCoordinates.ts                     |    28 +-
 .../src/ReactParallelCoordinates.tsx               |     4 +
 .../src/transformProps.ts                          |    10 +-
 .../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        |     9 +-
 .../src/AgGridTable/index.tsx                      |    49 +-
 .../src/AgGridTableChart.tsx                       |    91 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |    11 +-
 .../src/renderers/TextCellRenderer.tsx             |     6 +-
 .../src/transformProps.ts                          |     5 +
 .../src/utils/getCellClass.ts                      |     4 -
 .../src/utils/getCrossFilterDataMask.ts            |    49 +
 .../src/utils/getInitialSortState.ts               |     2 +-
 .../src/utils/reconcileColumnState.test.ts         |    86 +
 .../src/utils/reconcileColumnState.ts              |    83 +
 .../test/buildQuery.test.ts                        |    21 +-
 .../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 +-
 .../src/BigNumber/BigNumberTotal/transformProps.ts |     5 +-
 .../src/BigNumber/BigNumberViz.tsx                 |    11 +-
 .../src/BigNumber/constants.tsx}                   |    10 +-
 .../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 +-
 .../src/PivotTableChart.tsx                        |    48 +-
 .../src/react-pivottable/TableRenderers.tsx        |     2 +-
 .../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  |   139 +-
 .../plugin-chart-table/src/transformProps.ts       |     9 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   504 +
 .../plugins/plugin-chart-word-cloud/package.json   |     4 +-
 .../src/plugin/buildQuery.ts                       |     5 +-
 .../src/plugin/controlPanel.tsx                    |    16 +
 .../test/buildQuery.test.ts                        |    88 +-
 .../test/controlPanel.test.ts                      |    22 +
 .../plugins/preset-chart-deckgl/package.json       |    10 +-
 .../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 +
 .../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 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |    25 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |   223 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |    86 +-
 .../components/RunQueryActionButton/index.tsx      |     8 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |    39 +-
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx     |    19 +
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |     1 +
 .../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          |   141 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |   147 +-
 .../components/TableExploreTree/useTreeData.ts     |   136 +-
 .../src/SqlLab/components/TablePreview/index.tsx   |     2 +-
 superset-frontend/src/SqlLab/fixtures.ts           |     2 +-
 .../hooks/useQueryEditor/useQueryEditor.test.ts    |     2 +-
 .../src/SqlLab/reducers/getInitialState.test.ts    |     1 +
 ...ckglLayerVisibilityCustomizationPlugin.test.tsx |   107 +-
 .../DeckglLayerVisibilityCustomizationPlugin.tsx   |    82 +-
 .../DeckglLayerVisibility}/images/thumbnail.png    |   Bin
 .../components/DeckglLayerVisibility/index.ts      |     3 +-
 .../components/DeckglLayerVisibility/types.ts      |    26 +-
 .../useDeckLayerMetadata.test.ts                   |    84 +-
 .../DeckglLayerVisibility/useDeckLayerMetadata.ts  |     3 +-
 .../src/components/AlteredSliceTag/utils/index.ts  |     4 +-
 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 +-
 .../CopyToClipboard/CopyToClipboard.test.tsx       |    24 +
 .../src/components/CopyToClipboard/index.tsx       |    20 +-
 .../src/components/CopyToClipboard/types.ts        |     1 +
 .../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           |    32 +-
 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 +-
 .../actions/chartCustomizationActions.test.ts      |   273 +
 .../dashboard/actions/chartCustomizationActions.ts |     9 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |    10 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |     3 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     9 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |   423 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    50 +-
 .../src/dashboard/components/DashboardGrid.tsx     |     2 +-
 .../dashboard/components/Header/Header.test.tsx    |    16 +
 .../Header/useHeaderActionsDropdownMenu.tsx        |     3 +
 .../dashboard/components/PropertiesModal/index.tsx |     2 +-
 .../src/dashboard/components/SliceAdder.tsx        |     3 +-
 .../components/SliceHeaderControls/index.tsx       |     2 +-
 .../gridComponents/ChartHolder/ChartHolder.tsx     |     3 +-
 .../components/gridComponents/Column/Column.tsx    |     6 +-
 .../DynamicComponent/DynamicComponent.tsx          |     4 +-
 .../gridComponents/Header/Header.test.tsx          |     1 +
 .../gridComponents/Markdown/Markdown.test.tsx      |    46 +-
 .../components/gridComponents/Row/Row.tsx          |     4 +-
 .../new/DraggableNewComponent.test.tsx             |     1 +
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |   112 +-
 .../components/menu/DownloadMenuItems/index.tsx    |    29 +-
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |     1 +
 .../useCrossFiltersScopingModal.test.ts            |     6 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |    17 +-
 .../FilterBar/FilterBarSettings/index.tsx          |     4 +-
 .../FilterControls/FilterControl.test.tsx          |    99 +
 .../FilterBar/FilterControls/FilterControl.tsx     |     7 +
 .../FilterControls/FilterControlShared.test.tsx}   |    26 +-
 .../FilterControls/FilterControlShared.tsx         |    24 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |     8 +-
 .../FilterBar/FilterControls/FilterDivider.tsx     |     2 +-
 .../FilterControls/FilterValue.timeGrain.test.ts   |    60 +
 .../FilterBar/FilterControls/FilterValue.tsx       |   109 +-
 .../FilterBar/FilterControls/GroupByFilterCard.tsx |    16 +-
 .../FilterBar/FilterControls/state.test.ts         |   182 +
 .../FilterBar/FilterControls/state.ts              |    40 +-
 .../ConfigModalContent/ConfigModalContent.tsx      |    25 +-
 .../ConfigModalSidebar/ConfigModalSidebar.tsx      |   112 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |     1 +
 .../FiltersConfigForm/DatasetSelect.tsx            |    11 +-
 .../FiltersConfigForm/FilterScope/FilterScope.tsx  |     2 +-
 .../FiltersConfigForm/FilterScope/utils.test.ts    |    81 +-
 .../FiltersConfigForm/FilterScope/utils.ts         |    12 +
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   152 +-
 .../FiltersConfigForm/TimeGrainPreFilter.test.tsx  |   203 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |    15 +-
 .../FiltersConfigForm/utils.test.ts                |    27 +
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |    10 +
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    55 +
 .../transformers/filterTransformer.ts              |     8 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |     1 +
 .../nativeFilters/FiltersConfigModal/utils.ts      |     3 +
 .../components/nativeFilters/dependencyGraph.ts    |    75 +
 .../components/nativeFilters/state.test.ts         |   100 +-
 .../dashboard/components/nativeFilters/state.ts    |     8 +-
 .../components/nativeFilters/utils.test.ts         |    21 +-
 .../dashboard/components/nativeFilters/utils.ts    |     5 +
 .../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  |   173 +
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |    25 +-
 .../src/dashboard/hooks/useTabVisibility.test.ts   |     2 +-
 .../src/dashboard/reducers/dashboardInfo.test.ts   |   145 +
 .../src/dashboard/reducers/dashboardInfo.ts        |    12 +-
 .../src/dashboard/reducers/nativeFilters.test.ts   |    94 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |    45 +-
 .../util/getFormDataWithExtraFilters.test.ts       |   719 +-
 .../util/migrateChartCustomization.test.ts         |    83 +
 .../dashboard/util/migrateChartCustomization.ts    |    20 +-
 .../src/dashboard/util/permissionUtils.test.ts     |     1 +
 superset-frontend/src/dataMask/reducer.test.ts     |    67 +
 superset-frontend/src/dataMask/reducer.ts          |     5 +-
 .../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.ts          |     4 +-
 .../src/explore/actions/saveModalActions.ts        |     7 +-
 .../src/explore/components/ControlHeader.tsx       |     2 +
 .../CopyToClipboardButton.test.tsx                 |    28 +
 .../explore/components/DataTableControl/index.tsx  |    56 +-
 .../DataTableControl/useFilteredTableData.test.ts  |     2 +-
 .../DataTableControl/useTableColumns.test.ts       |     2 +-
 .../components/DataTableControls.tsx               |    45 +-
 .../DataTablesPane/components/SamplesPane.tsx      |     6 +-
 .../components/SingleQueryResultPane.tsx           |     6 +
 .../DataTablesPane/test/DataTablesPane.test.tsx    |    43 +-
 .../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 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |     6 +-
 .../components/ExploreChartHeader/index.tsx        |   171 +-
 .../explore/components/ExploreChartPanel/index.tsx |     4 +-
 .../explore/components/ExploreContainer/index.tsx  |     3 +-
 .../components/ExploreViewContainer/index.tsx      |    48 +-
 .../components/StashFormDataContainer/index.tsx    |     3 +-
 .../AnnotationLayerControl/AnnotationLayer.tsx     |     2 +-
 .../controls/AnnotationLayerControl/index.tsx      |     2 +-
 .../controls/CollectionControl/index.tsx           |   419 +-
 .../ColumnConfigConstants.test.tsx}                |    28 +-
 .../ConditionalFormattingControl.test.tsx          |    30 +-
 .../ConditionalFormattingControl.tsx               |     4 +-
 .../FormattingPopoverContent.tsx                   |     2 +-
 .../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           |    51 +-
 .../controls/DateFilterControl/DateFilterLabel.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/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/NumberControl/NumberControl.test.tsx  |    15 +
 .../components/controls/NumberControl/index.tsx    |     6 +
 .../useExploreAdditionalActionsMenu/index.tsx      |    57 +-
 superset-frontend/src/explore/controls.tsx         |     3 +-
 .../src/explore/reducers/exploreReducer.ts         |    20 +
 superset-frontend/src/explore/types.ts             |     5 +
 .../src/features/alerts/AlertReportModal.tsx       |     8 +-
 .../alerts/components/NotificationMethod.tsx       |     2 +-
 .../src/features/charts/ChartCard.tsx              |     7 +-
 .../cssTemplates/CssTemplateModal.test.tsx         |   104 +
 .../src/features/cssTemplates/CssTemplateModal.tsx |     1 +
 .../databases/DatabaseModal/index.test.tsx         |    12 +-
 .../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/Menu.tsx       |    21 +-
 .../src/features/home/RightMenu.test.tsx           |     9 +-
 superset-frontend/src/features/home/SubMenu.tsx    |   145 +-
 superset-frontend/src/features/home/types.ts       |     2 +
 .../ReportModal/HeaderReportDropdown/index.tsx     |     2 +-
 .../src/features/reports/ReportModal/index.tsx     |     2 +-
 .../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.tsx       |     1 +
 .../TimeGrain/TimeGrainFilterPlugin.test.tsx       |   145 +
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |    15 +-
 .../TimeGrainPreFilter.integration.test.tsx        |   165 +
 .../TimeGrainsTransformer.integration.test.ts      |   116 +
 .../src/filters/components/TimeGrain/types.ts      |     1 +
 .../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 +-
 superset-frontend/src/hooks/usePermissions.ts      |    26 +-
 .../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   |    92 +
 superset-frontend/src/pages/Chart/index.tsx        |    38 +-
 .../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     |    78 +-
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |    28 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |   809 +-
 .../src/pages/FileHandler/index.test.tsx           |    30 +-
 superset-frontend/src/pages/GroupsList/index.tsx   |     4 +-
 superset-frontend/src/pages/RolesList/index.tsx    |     6 +-
 .../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/setup/setupApp.ts            |     8 +-
 superset-frontend/src/theme/ThemeController.ts     |     2 +-
 .../src/theme/hooks/useThemeValidation.test.ts     |     2 +-
 .../src/theme/tests/ThemeProvider.test.tsx         |     2 +-
 superset-frontend/src/types/Dataset.ts             |    11 +-
 superset-frontend/src/types/bootstrapTypes.ts      |     1 +
 superset-frontend/src/utils/copy.ts                |    63 +-
 superset-frontend/src/utils/downloadAsImage.tsx    |     3 +-
 superset-frontend/src/utils/localStorageHelpers.ts |     2 +
 superset-frontend/src/views/App.tsx                |     8 +
 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               |   392 +-
 superset-websocket/package.json                    |    10 +-
 superset/advanced_data_type/api.py                 |    10 +-
 superset/annotation_layers/annotations/api.py      |    14 +-
 superset/annotation_layers/api.py                  |    10 +-
 superset/charts/api.py                             |    41 +-
 superset/charts/data/api.py                        |     6 +-
 superset/commands/dashboard/update.py              |     4 +
 superset/commands/database/utils.py                |     3 +-
 .../commands/datasource}/__init__.py               |     0
 superset/commands/datasource/list.py               |   245 +
 superset/commands/explore/get.py                   |     6 +-
 superset/commands/importers/v1/assets.py           |    29 +-
 .../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                    |    21 +-
 superset/config.py                                 |    16 +-
 superset/connectors/sqla/models.py                 |    82 +-
 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                         |    34 +-
 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                   |    12 +-
 superset/db_engine_specs/gsheets.py                |    29 +-
 superset/db_engine_specs/mysql.py                  |     9 +-
 superset/db_engine_specs/trino.py                  |    25 +-
 superset/exceptions.py                             |    21 +
 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                     |   760 +-
 superset/mcp_service/app.py                        |   156 +-
 superset/mcp_service/auth.py                       |    98 +-
 superset/mcp_service/chart/ascii_charts.py         |   863 +
 superset/mcp_service/chart/chart_helpers.py        |    81 +
 superset/mcp_service/chart/chart_utils.py          |   138 +-
 superset/mcp_service/chart/schemas.py              |   649 +-
 superset/mcp_service/chart/tool/__init__.py        |     2 +
 superset/mcp_service/chart/tool/generate_chart.py  |    88 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |   293 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    85 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |  1001 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |   616 +
 .../chart/tool/get_chart_type_schema.py            |    25 +-
 superset/mcp_service/chart/tool/list_charts.py     |    44 +-
 superset/mcp_service/chart/tool/update_chart.py    |   327 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    36 +-
 .../chart/validation/dataset_validator.py          |     3 +-
 superset/mcp_service/chart/validation/pipeline.py  |    84 +-
 .../chart/validation/runtime/__init__.py           |     2 +
 .../validation/runtime/chart_type_suggester.py     |     8 +
 .../chart/validation/runtime/format_validator.py   |     3 +-
 .../chart/validation/schema_validator.py           |    17 +-
 superset/mcp_service/common/cache_schemas.py       |    67 +-
 superset/mcp_service/common/schema_discovery.py    |    25 +-
 superset/mcp_service/dashboard/schemas.py          |   487 +-
 .../tool/add_chart_to_existing_dashboard.py        |    81 +-
 .../dashboard/tool/generate_dashboard.py           |    39 +-
 .../dashboard/tool/get_dashboard_info.py           |    68 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |     8 +-
 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            |   449 +-
 superset/mcp_service/dataset/tool/__init__.py      |     4 +
 .../dataset/tool/create_virtual_dataset.py         |   137 +
 .../mcp_service/dataset/tool/get_dataset_info.py   |    14 +
 superset/mcp_service/dataset/tool/list_datasets.py |    28 +-
 superset/mcp_service/dataset/tool/query_dataset.py |   489 +
 .../explore/tool/generate_explore_link.py          |    23 +-
 superset/mcp_service/mcp_config.py                 |    29 +-
 superset/mcp_service/mcp_core.py                   |   297 +-
 superset/mcp_service/middleware.py                 |   216 +-
 superset/mcp_service/privacy.py                    |   209 +
 superset/mcp_service/server.py                     |   336 +-
 superset/mcp_service/sql_lab/schemas.py            |    29 +
 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         |   375 +-
 superset/mcp_service/utils/token_utils.py          |     4 +-
 ...6_33d7e0e21daa_add_semantic_layers_and_views.py |   168 +
 superset/models/helpers.py                         |    38 +-
 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                  |     3 +-
 .../__init__.py => sql/dialects/opensearch.py}     |    21 +-
 superset/sql/parse.py                              |     6 +-
 superset/sql_validators/__init__.py                |     3 +-
 superset/sql_validators/sqlite.py                  |   142 +
 superset/sqllab/api.py                             |    68 +-
 superset/sqllab/utils.py                           |     6 +-
 superset/superset_typing.py                        |    51 +-
 superset/tags/api.py                               |     6 +-
 superset/tasks/cache.py                            |     2 +-
 superset/themes/api.py                             |     6 +-
 .../{ca => cs}/LC_MESSAGES/messages.po             | 11114 ++---
 superset/translations/fr/LC_MESSAGES/messages.po   |    87 +-
 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/uk/LC_MESSAGES/messages.po   | 10465 +++--
 superset/utils/cache_keys.py                       |    54 +
 superset/utils/core.py                             |    37 +-
 superset/utils/database.py                         |    22 +-
 superset/utils/log.py                              |     7 +
 superset/utils/oauth2.py                           |    13 +-
 superset/utils/webdriver.py                        |     6 +-
 superset/views/api.py                              |     4 +-
 superset/views/base.py                             |    23 +-
 superset/views/base_api.py                         |    12 +-
 superset/views/datasource/views.py                 |    11 +-
 superset/views/log/api.py                          |     4 +-
 superset/views/utils.py                            |     1 +
 superset/viz.py                                    |    11 +
 .../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/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/event_logger_tests.py      |    61 +
 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       |    39 +-
 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  |   275 +
 tests/integration_tests/themes/api_tests.py        |    18 +-
 tests/integration_tests/users/api_tests.py         |     2 +
 tests/unit_tests/charts/test_chart_data_api.py     |    71 +
 tests/unit_tests/commands/databases/utils_test.py  |     6 +-
 .../unit_tests/commands/datasource}/__init__.py    |     0
 tests/unit_tests/commands/datasource/list_test.py  |   162 +
 .../commands/importers/v1/assets_test.py           |   125 +
 .../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 +
 .../dashboards/commands/importers/v1/utils_test.py |    85 +
 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_base.py      |   328 +-
 tests/unit_tests/db_engine_specs/test_gsheets.py   |    54 +-
 tests/unit_tests/db_engine_specs/test_mysql.py     |    41 +
 tests/unit_tests/db_engine_specs/test_trino.py     |    58 +
 tests/unit_tests/jinja_context_test.py             |    95 +
 .../mcp_service/chart/test_chart_helpers.py        |   108 +
 .../mcp_service/chart/test_chart_schemas.py        |   170 +-
 .../mcp_service/chart/test_chart_utils.py          |   112 +
 .../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           |   209 +-
 .../mcp_service/chart/tool/test_get_chart_sql.py   |   709 +
 .../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    |   498 +-
 .../chart/tool/test_update_chart_preview.py        |    60 +-
 .../validation/test_column_name_normalization.py   |    13 +
 .../validation/test_pipeline_error_surface.py      |   308 +
 .../dashboard/test_dashboard_schemas.py            |   296 +-
 .../tool/test_add_chart_to_existing_dashboard.py   |   297 +
 .../dashboard/tool/test_dashboard_generation.py    |    89 +-
 .../dashboard/tool/test_dashboard_tools.py         |   717 +-
 .../database/tool/test_database_tools.py           |   134 +-
 .../mcp_service/dataset/tool/test_dataset_tools.py |   604 +-
 .../mcp_service/dataset/tool/test_query_dataset.py |   831 +
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |   153 +
 .../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 +
 .../mcp_service/test_g_user_race_condition.py      |   164 +
 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    |   589 +
 .../mcp_service/test_middleware_logging.py         |   157 +
 tests/unit_tests/mcp_service/test_privacy.py       |   108 +
 .../mcp_service/test_schema_discovery.py           |    53 +-
 .../mcp_service/test_tool_search_transform.py      |   578 +-
 .../mcp_service/utils/test_permissions_utils.py    |    73 +
 .../mcp_service/utils/test_sanitization.py         |   346 +
 .../mcp_service/utils/test_schema_utils.py         |   517 +-
 .../mcp_service/utils/test_token_utils.py          |     2 +
 tests/unit_tests/models/core_test.py               |     6 +-
 tests/unit_tests/models/helpers_test.py            |   355 +-
 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  |   240 +
 tests/unit_tests/sql/parse_tests.py                |    14 +-
 tests/unit_tests/sql_lab_test.py                   |     2 +-
 tests/unit_tests/sql_validators/#sqlite_test.py#   |   303 +
 tests/unit_tests/sql_validators/sqlite_test.py     |   303 +
 tests/unit_tests/test_viz_cache_key.py             |   111 +
 tests/unit_tests/utils/oauth2_tests.py             |    40 +
 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 +
 958 files changed, 96867 insertions(+), 56053 deletions(-)
 create mode 100644 docs/admin_docs/configuration/aws-iam.mdx
 create mode 100644 docs/docs/security/granular-export-controls.mdx
 create mode 100644 docs/docs/using-superset/embedding.mdx
 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 docs/static/img/logos/hifadih.png
 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
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/_skip.sourcePanel.index.test.js
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/query.test.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/sqllab.helper.js
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/tabs.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/DynamicEditableTitle/DynamicEditableTitle.regression.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/copy.test.ts
 create mode 100644 superset-frontend/playwright/components/core/AgGrid.ts
 copy superset-frontend/{src/components/ListView/DashboardCrossLinks.tsx => playwright/components/core/EditableTabs.ts} (51%)
 copy superset-frontend/{packages/superset-ui-core/src/time-format/types.ts => playwright/components/core/Popover.ts} (50%)
 copy superset-frontend/{spec/helpers/Cache.ts => playwright/components/modals/SaveDatasetModal.ts} (57%)
 copy superset-frontend/{spec/helpers/IntersectionObserver.ts => playwright/components/modals/SaveQueryModal.ts} (59%)
 delete mode 100644 superset-frontend/playwright/fixtures/dataset_export.zip
 copy superset-frontend/{src/types/SqlExpression.ts => playwright/helpers/api/savedQuery.ts} (54%)
 copy superset-frontend/playwright/helpers/api/{theme.ts => sqllab.ts} (51%)
 create mode 100644 superset-frontend/playwright/pages/SqlLabPage.ts
 create mode 100644 superset-frontend/playwright/tests/sqllab/sqllab.spec.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/reconcileColumnState.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/reconcileColumnState.ts
 copy superset-frontend/{src/components/AuditInfo/types.ts => plugins/plugin-chart-echarts/src/BigNumber/constants.tsx} (87%)
 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
 copy superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src => src/chartCustomizations/components/DeckglLayerVisibility}/images/thumbnail.png (100%)
 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/actions/chartCustomizationActions.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControl.test.tsx
 copy superset-frontend/src/{explore/components/DataTableControl/FilterInput.test.tsx => dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControlShared.test.tsx} (59%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.timeGrain.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/state.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/TimeGrainPreFilter.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/dependencyGraph.ts
 create mode 100644 superset-frontend/src/dashboard/hooks/useDownloadScreenshot.test.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
 create mode 100644 superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.test.tsx
 create mode 100644 superset-frontend/src/filters/components/TimeGrain/TimeGrainPreFilter.integration.test.tsx
 create mode 100644 superset-frontend/src/filters/components/TimeGrain/TimeGrainsTransformer.integration.test.ts
 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/ascii_charts.py
 create mode 100644 superset/mcp_service/chart/chart_helpers.py
 create mode 100644 superset/mcp_service/chart/tool/get_chart_sql.py
 create mode 100644 superset/mcp_service/dataset/tool/create_virtual_dataset.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
 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} (63%)
 create mode 100644 superset/sql_validators/sqlite.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
 create mode 100644 tests/integration_tests/test_granular_export_api.py
 create mode 100644 tests/unit_tests/charts/test_chart_data_api.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_chart_helpers.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/tool/test_get_chart_sql.py
 create mode 100644 tests/unit_tests/mcp_service/chart/validation/test_pipeline_error_surface.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_add_chart_to_existing_dashboard.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_g_user_race_condition.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_validators/#sqlite_test.py#
 create mode 100644 tests/unit_tests/sql_validators/sqlite_test.py
 create mode 100644 tests/unit_tests/test_viz_cache_key.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