You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ha...@apache.org on 2026/04/25 02:24:19 UTC
(superset) branch fix/resolve-oom-issues-when-building-docs-with-docusaurus-faster updated (05db16d9c4c -> 465600f0b39)
This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a change to branch fix/resolve-oom-issues-when-building-docs-with-docusaurus-faster
in repository https://gitbox.apache.org/repos/asf/superset.git
omit 05db16d9c4c Merge branch 'master' into fix/resolve-oom-issues-when-building-docs-with-docusaurus-faster
add 4a9db243a17 chore(deps): bump caniuse-lite from 1.0.30001777 to 1.0.30001778 in /docs (#38593)
add 83955e87acc refactor(mcp): use serialize_user_object in get_instance_info (#38613)
add 0b8df8d3f2f build(deps): update `geostyler-*` deps to latest major versions (#38151)
add fc156d0014b fix(mcp): replace uuid with url and changed_on_humanized in default list columns (#38566)
add 56d6bb19136 feat(auth): add SAML login support to frontend (#38606)
add d91b96814e0 fix(mcp): Improve validation errors and field aliases to reduce failed LLM tool calls (#38625)
add 9516d1a306d fix(explore/dashboard): fix CSV/Excel downloads for legacy chart types (#38513)
add 32a64d02c74 fix(deckgl): polygon chart not rendering when boundary column contains nested geometry JSON (#38595)
add af5e05db2e4 fix(mcp): Support form_data_key without chart identifier for unsaved charts (#38628)
add f458e2d484f feat(mcp): add extra_form_data param to get_chart_data for dashboard filters (#38531)
add d5cf77cd60b fix(mcp): fix crashes in list tools, dataset info, chart preview, and add owner/favorite filters (#38277)
add f5383263bc7 fix(extensions): fix gitignore template and bump version (#38614)
add 18673369076 fix(editor): implement missing methods, fix cursor position clearing (#38603)
add f6106cd26f1 fix(timeshiftcolor): Time shift color to match the original color (#38473)
add ca2d26a1e2f fix(ag-grid-table): fix AND filter conditions not applied (#38369)
add ba7271b4d89 fix(world-map): add fallback fill color when colorFn returns null (#38602)
add ba7d7dcec0d chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#38619)
add 242636b36b1 chore(deps): bump baseline-browser-mapping from 2.10.0 to 2.10.7 in /docs (#38622)
add f4a57a13bc9 chore(deps): bump dompurify from 3.3.2 to 3.3.3 in /superset-frontend (#38592)
add b6c3b3ef46d fix(mcp): return all statement results for multi-statement SQL queries (#38388)
add 97a66f7a647 feat(mcp): add BM25 tool search transform to reduce initial context size (#38562)
add e8061a9c2b4 style(metadata-bar): use bold font weight for metadata bar title (#38608)
add 6e7d6a85b45 fix(ag-grid-table): fix failing buildQuery test expectation (#38636)
add ed622e254a4 feat(matrixify): Revamp control panel (#38519)
add 48220fb33f8 feat(mcp): add save_sql_query tool for SQL Lab saved queries (#38414)
add 68e38c88936 chore(deps): bump undici from 7.22.0 to 7.24.1 in /superset-frontend (#38642)
add 176bf00c169 chore(deps-dev): bump baseline-browser-mapping from 2.10.0 to 2.10.7 + sync lockfile + run `npm audit fix` in /superset-frontend (#38621)
add 39cd1cdd436 chore(deps): bump dawidd6/action-download-artifact from 16 to 17 (#38620)
add cc066b35761 fix(docs): use absolute API doc links in developer docs (#38649)
add afe093f1ca5 fix(FilterBar): reduce padded space between filter header and first filter (#38646)
add dcb414aa064 feat(extensions): add update command to extensions cli (#38651)
add aa5adb0fce1 fix(embedded): default to light theme instead of system preference (#38644)
add 7909095ff34 feat(native-filters): add configurable LIKE/ILIKE operators to Select filter (#38470)
add 96705c156a9 fix(map-box): make opacity, lon, lat, and zoom controls functional (#38374)
add ca403dc45d0 fix(ci): allow docs testing to run despite absence of db diagnostics data (#38655)
add 1c8224f4c63 feat(mcp): Add tool annotations for MCP directory compliance (#38641)
add a854fa60a2e feat: apply RLS conservatively (#38683)
add c980f39aabe chore(deps): bump caniuse-lite from 1.0.30001778 to 1.0.30001780 in /docs (#38688)
add 461037f645d chore(deps-dev): bump typescript-eslint from 8.56.1 to 8.57.1 in /docs (#38684)
add 5865176f363 fix(dashboard): overload issue in dashboard export to excel (#29418)
add 6f301707f9f fix: Simplify extension folder name (#38690)
add 05b9970aa66 fix(map-box): prevent clusters from being smaller than individual points (#38458)
add 91986fff023 fix(tests): restore 100% TypeScript coverage for core packages (#38682)
add 834d2abe707 chore(deps): bump antd from 6.3.2 to 6.3.3 in /docs (#38686)
add e02ca8871dd fix(mcp): expose individual tool parameters when MCP_PARSE_REQUEST_ENABLED=False (#38714)
add a314e5b35ef fix: Row limit support for chart mcp tools (#38717)
add fd1c423826d fix(chart): prevent chart list from failing when a datasource lacks explore_url (#38721)
add 3edf75123a9 chore(deps): bump swagger-ui-react from 5.32.0 to 5.32.1 in /docs (#38708)
add 03de7e1ec62 fix(dashboard): use inline theme data to prevent 403 for non-admin users (#38384)
add 972e15e6011 fix(sql): remove WHERE 1 = 1 when temporal filter has "No filter" selected (#38704)
add 14b1b456e16 fix: Add aliases and groupby list to chart schemas (#38740)
add 5457c2da676 chore(deps): bump dawidd6/action-download-artifact from 17 to 19 (#38735)
add d6bfc98a616 feat(ci): use zstd for faster saving and loading `superset-node-ci` image (#38645)
add 211f29b7234 fix(mcp): Chart schema followups - DRY extraction, template fix, alias and test gaps (#38746)
add 01aa4d32816 chore(deps): bump match-sorter from 6.3.4 to 8.2.0 in /superset-frontend (#36470)
add 6465450b64a fix(firebolt): Firebolt SQL entered with EXCLUDE is rewritten to EXCEPT (#38742)
add d4646d43a76 docs(security): update vulnerability reporting policy and admin trust boundary (#38653)
add 65f13f773e5 fix(theme): ensure colorLink follows colorPrimary when not explicitly set (#38517)
add ee233d16d69 fix(dashboard): correct tab underline width for newly added dashboard tabs. (#38524)
add b754f2d1733 fix(theme): persist local theme id so "Local" tag remains after navigation (#38527)
add 6b9dd23e3a5 fix(timeseries-table): enable proper column sorting in timeseries-table chart (#38579)
add 82a74c88aa3 fix(button): Theming configurations for button elements is not consistent (#38604)
add cbb2b2f3c25 feat(themes): add JSON formatting to theme modal editor (#38739)
add c2a21915ff3 fix(mcp): fix dashboard slug null and execute_sql encoding error (#38710)
add 5e5c05362c2 fix(mcp): use correct permission class for save_sql_query tool (#38764)
add e088979fbed fix(reports): validate nativeFilters on report create/update and deactivate on dashboard filter deletion (#38715)
add 97ea479cdcd chore(deps-dev): bump flatted from 3.3.1 to 3.4.2 in /superset-websocket (#38752)
add ea1c6ee30f3 chore(deps): bump geostyler-openlayers-parser from 5.4.0 to 5.4.1 in /superset-frontend (#38755)
add 1af5da6aad3 chore(deps): bump baseline-browser-mapping from 2.10.7 to 2.10.9 in /docs (#38756)
add 1d72480c178 fix(mcp): fix detached Slice instance error in chart/dashboard serialization (#38767)
add 28d67d59cd7 chore(deps-dev): bump flatted from 3.2.2 to 3.4.2 in /superset-frontend/cypress-base (#38761)
add 0d5721910e8 fix(mcp): normalize call_tool proxy arguments to prevent encoding TypeError (#38775)
add 44c2c765ae5 fix(mcp): convert adhoc filters to QueryObject format before query compilation (#38774)
add 32eb8c82636 chore(deps): bump flatted from 3.3.3 to 3.4.2 in /docs (#38772)
add f5d7ce0f861 chore(deps-dev): bump flatted from 3.4.1 to 3.4.2 in /superset-frontend (#38771)
add 7004369c68a fix(sec): remove compromised Trivy actions (#38780)
add 83823911b55 feat(sec): harden GHA ref by using its SHA ID to prevent accidental usage of compromised actions (#38782)
add e05fdd8acda chore(deps): bump mapbox-gl from 3.19.0 to 3.20.0 in /superset-frontend (#38670)
add c1c296233f3 chore(deps-dev): bump terser-webpack-plugin from 5.3.17 to 5.4.0 in /superset-frontend (#38669)
add 2a6b0215f04 chore(deps): bump simple-zstd from 1.4.2 to 2.1.0 in /superset-frontend (#38662)
add 361afff798c chore(deps-dev): bump copy-webpack-plugin from 13.0.1 to 14.0.0 in /superset-frontend (#38504)
add 02ffb52f4a2 fix(table): improve conditional formatting text contrast (#38705)
add cc34d19d24d fix(DropdownContainer): add fresh to avoid stale data (#38702)
add 618113079ff chore(deps): bump anthropics/claude-code-action from 0.0.63 to 1.0.76 (#38797)
add c9ebb13fa15 chore(deps-dev): bump @babel/runtime-corejs3 from 7.29.0 to 7.29.2 in /superset-frontend (#38800)
add 601fb45142d chore(deps-dev): bump oxlint from 1.53.0 to 1.56.0 in /superset-frontend (#38802)
add 0f4aa1ceea6 chore(deps): bump nanoid from 5.1.6 to 5.1.7 in /superset-frontend (#38803)
add 1987e816a5d chore(deps-dev): bump baseline-browser-mapping from 2.10.7 to 2.10.10 in /superset-frontend (#38805)
add 24be9cd515e chore(deps): bump caniuse-lite from 1.0.30001780 to 1.0.30001781 in /docs (#38801)
add 519a64da827 chore(deps): bump @swc/core from 1.15.18 to 1.15.21 in /docs (#38798)
add c96c817ef57 chore(deps-dev): bump eslint-plugin-testing-library from 7.16.0 to 7.16.1 in /superset-frontend (#38795)
add 100ad7d9eec fix(AlertsReports): validate anchor_list is a list (#38723)
add 44179199ba5 chore(Reports): remove unused and incorrect field (#38724)
add 6d93eeb5334 chore(deps): bump baseline-browser-mapping from 2.10.9 to 2.10.10 in /docs (#38799)
add 7a5c07b99c9 chore(deps): bump @babel/runtime from 7.28.6 to 7.29.2 in /superset-frontend (#38804)
add fdcb942f3c7 fix(MainNav): display all menu items on smaller screens (#38732)
add 86a260e39b6 feat(theming): Custom label tokens (#38679)
add e67bc5bee59 fix(explore): display actual data type instead of "column" in column tooltip (#38554)
add e0b524fff26 chore: docs on Redshift auth with access key (#38810)
add 72223279929 fix(Matrixify): readd matrixify_enable guard missing (#38759)
add ed3c5280a93 fix(mcp): prevent encoding errors and fix tool bugs on MCP client transports (#38786)
add 962abf69047 fix(sqllab): add authorization check to query cost estimation (#38648)
add 89d1b80ce7d fix(keys): Unsafe dict access in get_native_filters_params() crashes execution (#38272)
add 5d9f53ff0cb feat: prevent Postgres connection to Redshift (#38693)
add 56ebfb78481 feat(i18n): update Italian messages.po (#38821)
add e2bb20121e4 chore(deps-dev): bump typescript-eslint from 8.57.1 to 8.57.2 in /docs (#38818)
add 09594b32f91 fix(mcp): fix generate_dashboard cross-session SQLAlchemy error (#38827)
add 42201a98a17 chore(deps): bump pug from 3.0.3 to 3.0.4 in /superset-websocket/utils/client-ws-app (#38664)
add 7c9d75b69e7 fix(sqllab): FilterText does not apply accordingly (#38813)
add 6852349d24f fix(extensions-cli): remove publisher prefix from bundle filename (#38823)
add c596df92943 feat(mcp): add Handlebars chart type support to MCP service (#38402)
add ccaac306e5b test(sqllab): add extension slot contract tests for all 7 host components (#38776)
add 811dcb37154 feat(api-keys): add API key authentication via FAB SecurityManager (#37973)
add 37c4a36fdb0 fix(report): raise warning when filter type not recognized (#38676)
add 4b26f8c712b fix(models): correct TabState.latest_query_id column type to match FK target (#38837)
add 3fb903fdc6e fix(embedded-sdk): wire `hideTab` to actually hide the dashboard tab (#38846)
add 12aca720746 fix(echarts): prevent plain legend clipping in dashboards (#38675)
add a93e3197161 fix(datasource): align access validation in legacy views (#38647)
add ba5820b088c chore(deps): bump antd from 6.3.3 to 6.3.4 in /docs (#38843)
add 403f4ad78c9 fix(dashboard): larger JSON metadata editor for better editing UX (#38728) (#38745)
add 21fb5a27e9c chore(deps): bump google-auth-library from 10.6.1 to 10.6.2 in /superset-frontend (#38841)
add d32e975eb9e chore(deps): bump anthropics/claude-code-action from 1.0.76 to 1.0.78 (#38842)
add 3506773f515 fix(ci): install missing `msgcat` used for Babel translation update (#38830)
add 04e07acf98d fix(tests): resolve flakey SouthPane extension test caused by nwsapi (#38832)
add 16f5a2a41a6 fix(mcp): detect unknown chart config fields and suggest correct ones (#38848)
add 23a5e958844 fix(mcp): add permission checks to generate_dashboard and update_chart tools (#38845)
add 38d3a39c06a test(sqllab): add SQL Lab SDK API contract tests (#38860)
add e045f49787c fix(echart): multiple time shift line pattern (#38866)
add 6dd82afb0b0 chore(deps): bump dayjs from 1.11.19 to 1.11.20 in /superset-frontend (#38840)
add 43816d75287 chore(deps): bump aws-actions/amazon-ecs-deploy-task-definition from 2.6.0 to 2.6.1 (#38874)
add cfa1aba1e0b fix(sqllab): inactive leftbar selector on empty state (#38833)
add 6dc3d7ad9f8 fix(mcp): add try/except around DAO re-fetch to handle session errors in multi-tenant (#38859)
add 95820fb9e69 docs: improve SQL templating guidance and examples (#38777)
add 8983edea665 fix: type probing (#38889)
add 9c288d66b5d fix(dataset): add missing currency_code_column to DatasetPostSchema (#38853)
add 8cbf5fb8df0 chore(deps-dev): bump lerna from 8.2.4 to 9.0.4 in /superset-frontend (#37914)
add 8700ec4e6dd fix: pin 2 unpinned action(s),extract 21 unsafe expression(s) to env vars (#38893)
add 7e69d5d839d chore(deps): bump node-forge from 1.3.2 to 1.4.0 in /docs (#38907)
add 6229c99050d chore(deps): bump @ant-design/icons from 6.1.0 to 6.1.1 in /docs (#38904)
add 5ad91fbb092 chore(deps): bump baseline-browser-mapping from 2.10.10 to 2.10.11 in /docs (#38902)
add 20d0cfd156f chore(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#38903)
add 50a5bb06713 chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /superset-websocket (#38895)
add 41473a520e3 chore(deps): bump handlebars from 4.7.8 to 4.7.9 in /superset-frontend (#38894)
add c2c929bf941 chore(deps-dev): bump speed-measure-webpack-plugin from 1.5.0 to 1.6.0 in /superset-frontend (#38871)
add 388a1fd0be4 chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /superset-frontend (#38906)
add d6a6b6db142 chore(deps): bump yaml from 1.10.2 to 1.10.3 in /superset-frontend (#38905)
add 7f3351011d3 chore(deps): bump anthropics/claude-code-action from 1.0.78 to 1.0.80 (#38901)
add 40387d5daa6 fix(reports): PUT with empty recipients list does not persist the change (#38711)
add 5c782397bb5 refactor(passwords): accept passwords via YAML file (#38059)
add ac96f46c764 fix(dataset): add email field to owners_data for Chart Explore path (#38836)
add 65eae027fac fix(sqllab): long cell content overflooding (#38855)
add fc705d94e3f fix(explore): migrate from window.history to React Router history API (#38887)
add f832f9b0d5e fix(Timeseries): dedup x axis labels (#38733)
add 6bcc8bf2b25 chore(deps): bump picomatch from 2.3.1 to 2.3.2 in /superset-frontend/cypress-base (#38862)
add 38e82e40845 chore(deps): bump yaml from 1.10.2 to 1.10.3 in /superset-frontend/cypress-base (#38856)
add a5d2324e216 fix(sqllab): invalid treeview folder expansion (#38897)
add dbc25dc5557 fix(ci): resolve failed CodeCov upload for backend tests (#38885)
add d1903afc694 fix(mcp): remove @parse_request decorator for cleaner tool schemas (#38918)
add aa1a69555b3 fix(mcp): prevent GRID_ID injection into ROOT_ID on tabbed dashboards (#38890)
add 89f7e5e7bae fix(mcp): validate dataset exists in generate_explore_link before generating URL (#38951)
add 41d401a879e fix(select): ensure filter dropdown matches input field width (#38886)
add d331a043a3a fix(mcp): prevent PendingRollbackError from poisoned sessions after SSL drops (#38934)
add 15bab227bb0 feat(mcp): support saved metrics from datasets in chart generation (#38955)
add 38fdfb4ca2e fix(mcp): prevent stale g.user from causing user impersonation across tool calls (#38747)
add 2c9cf0bd558 fix(mcp): enforce MAX_PAGE_SIZE limit on list tools to prevent oversized responses (#38959)
add e0a0a225426 fix(charts): add X Axis Number Format control for numeric X-axis columns (#38809)
add f1cd1ae7100 fix(pivot-table): safely cast numeric strings to numbers for date formatting (#38953)
add 11f2140c37e fix(AlteredSliceTag): not display undefined filter value for chart change record (#38883)
add b49e8999748 chore(deps-dev): bump typescript-eslint from 8.57.2 to 8.58.0 in /docs (#38968)
add b1474aaa60d docs: Fix misleading links in UPDATING.md (#38947)
add ecbf396d4a0 chore(deps): bump path-to-regexp from 8.2.0 to 8.4.0 in /superset-websocket/utils/client-ws-app (#38935)
add 944944c49e8 chore(deps): bump antd from 6.3.4 to 6.3.5 in /docs (#38967)
add e6f1209318b chore(deps): bump aws-actions/amazon-ecr-login from 2.0.2 to 2.1.1 (#38944)
add f0b20dc4459 fix(echarts): adapt y-axis ticks and padding for compact timeseries charts (#38673)
add 42457208512 feat(mcp): add Big Number chart type support to MCP service (#38403)
add c37a3ec292d fix(mcp): add TEMPORAL_RANGE filter for temporal x-axis in generate_chart (#38978)
add daefedebcda fix(mcp): batch fix for execute_sql crashes, null timestamps, and deck.gl errors (#38977)
add f6cd8066aba fix(bubble): Fix Bubble chart axis label rotation (#38917)
add 7d26e33346f chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /superset-websocket (#38861)
add a741ddc03ce chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /superset-embedded-sdk (#38864)
add 3abcfb797a9 chore(deps-dev): bump open-cli from 8.0.0 to 9.0.0 in /superset-frontend (#38875)
add 55aa36fef84 docs(developer): add celery to testing section for alerts&reports (#38888)
add 53b1d1097cf fix(presto): Fix presto timestamp (#26467)
add e4021fb6e7b fix(sec): resolve 50+ Dependabot alerts + bump `core-js` (#38939)
add 08a4ad662aa chore(deps): bump brace-expansion from 1.1.11 to 1.1.13 in /superset-frontend/cypress-base (#38919)
add 4036b784ed5 chore(deps): bump serialize-javascript and terser-webpack-plugin in /superset-embedded-sdk (#38920)
add 6ea9f2ade94 chore(mcp): clarify saved metrics vs columns in MCP instructions (#38981)
add f85efe61397 chore(build): remove eslint-plugin-file-progress usage + correct newlines for `npm run check:custom-rules` (#38938)
add 4fae5758d5c chore(deps): bump baseline-browser-mapping from 2.10.11 to 2.10.12 in /docs (#38942)
add d4d22909cb4 fix(dashboard): live CSS preview in PropertiesModal (#38960)
add 8559786cc29 fix(mixed-timeseries): apply same axis formatting options as timeseries charts (#38979)
add 1e2d0faa55d fix(dashboard): dashboard filters not inherited in charts in Safari sometimes due to race condition (#38851)
add 64bd03bd703 chore(deps): bump caniuse-lite from 1.0.30001781 to 1.0.30001782 in /docs (#38941)
add 872632aca05 chore(deps): bump fs-extra from 11.3.2 to 11.3.4 in /superset-frontend (#38437)
add 7ce371080cf chore(deps-dev): bump @types/node from 25.3.3 to 25.3.5 in /superset-websocket (#38462)
add bd982696285 chore(deps): bump hot-shots from 14.1.1 to 14.2.0 in /superset-websocket (#38663)
add 070be3de8b2 chore(deps-dev): bump webpack-bundle-analyzer from 5.2.0 to 5.3.0 in /superset-frontend (#38940)
add 424f99efdfa chore(deps): bump anthropics/claude-code-action from 1.0.80 to 1.0.82 (#38946)
add 51ec61c6758 chore(deps-dev): bump eslint from 10.0.2 to 10.0.3 in /superset-websocket (#38500)
add 6b6e3803d13 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.56.1 to 8.57.0 in /superset-websocket (#38540)
add a67ca052d6a chore(deps-dev): bump babel-loader from 10.0.0 to 10.1.0 in /superset-frontend (#38505)
add 4ee391e0d7e docs(db): Update crate.py with new Homepage URL (#39002)
add 8ed75787cb3 chore(deps-dev): bump jsdom from 28.1.0 to 29.0.1 in /superset-frontend (#38999)
add d30c5b4eeed chore(deps): bump caniuse-lite from 1.0.30001782 to 1.0.30001784 in /docs (#38998)
add 64c8d652e1e chore(deps-dev): bump @types/node from 25.3.5 to 25.5.0 in /superset-websocket (#38995)
add 94d8735d4b2 fix(query): pass datasource table to template processor for schema-aware Jinja rendering (#38984)
add aa976793276 chore(deps): update @deck.gl/aggregation-layers requirement from ~9.2.5 to ~9.2.9 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#38148)
add 6adc816805d chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend (#38438)
add 5f99d613a00 chore(deps): bump markdown-to-jsx from 9.7.6 to 9.7.8 in /superset-frontend (#38507)
add 190f1a59c53 fix(mcp): fix dashboard owners Pydantic crash and preserve chart preview filters (#38987)
add 4423134739e chore(deps): bump ioredis from 5.10.0 to 5.10.1 in /superset-websocket (#38993)
add 1bb41a6e609 chore(deps): bump anthropics/claude-code-action from 1.0.82 to 1.0.83 (#39001)
add 0bae05d4a93 fix(mcp): handle table chart raw mode in query builders and sanitize dashboard titles (#38990)
add 38f0dc74f7c fix(dataset-editor): improve modal layout and fix Settings tab horizontal scroll (#39009)
add 022342839aa fix(echarts): fix stacked horizontal bar chart clipping and duplicate x-axis labels (#39012)
add ff3b8d8398e fix(ace-editor): fix cursor misalignment in markdown editor (#38928)
add ec6640b1885 chore(deps-dev): update fs-extra requirement from ^11.3.3 to ^11.3.4 in /superset-frontend/packages/generator-superset (#38383)
add 1d0e836a299 chore(deps): update @deck.gl/extensions requirement from ~9.2.5 to ~9.2.9 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#38149)
add 00eb86d03fb chore(deps-dev): bump @swc/plugin-emotion from 14.6.0 to 14.7.0 in /superset-frontend (#38333)
add 7acb0c6d052 chore(deps-dev): bump @types/node from 25.3.3 to 25.3.5 in /superset-frontend (#38510)
add 1aac6c94741 chore(deps): update @deck.gl/react requirement from ~9.2.5 to ~9.2.9 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#38150)
add fdd08d3b701 chore(deps): bump ws from 8.19.0 to 8.20.0 in /superset-websocket (#38994)
add 26f4a5acadb chore(deps): bump azure/setup-helm from 4.3.1 to 5.0.0 (#38815)
add 5cc286e383e chore(deps-dev): bump @playwright/test from 1.58.2 to 1.59.1 in /superset-frontend (#39057)
add 59f92f979a5 chore(deps-dev): bump eslint-plugin-testing-library from 7.16.1 to 7.16.2 in /superset-frontend (#39056)
add 985d7b6a792 chore(deps-dev): bump @types/node from 25.3.5 to 25.5.0 in /superset-frontend (#39055)
add 87f0540acd7 chore(deps-dev): bump ts-jest from 29.4.6 to 29.4.9 in /superset-frontend (#39049)
add bdb0030cf87 chore(deps-dev): bump @swc/core from 1.15.18 to 1.15.21 in /superset-frontend (#39045)
add 3802acb1e03 chore(deps-dev): bump jest-html-reporter from 4.3.0 to 4.4.0 in /superset-frontend (#39053)
add c372f5980c1 chore(deps): bump lodash from 4.17.23 to 4.18.1 in /superset-frontend (#39043)
add 25eea295f6c fix(reports): log exception traceback in _get_csv_data (#39069)
add 135e0f80996 fix(mcp): Created dashboard should be in draft state by default (#39011)
add f0fcdcc76a8 chore: package bumps (#39014)
add 9e27d682f69 test(alerts/reports): close backend and frontend test coverage gaps (#38591)
add 5662ecab154 chore(tests): promote Playwright experimental tests to stable (#38924)
add 23ac4cb3a42 chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#39051)
add 08d1ddd9fbd chore(deps-dev): bump mini-css-extract-plugin from 2.10.1 to 2.10.2 in /superset-frontend (#39054)
add b4cb815ebfd chore(deps): bump anthropics/claude-code-action from 1.0.83 to 1.0.85 (#39037)
add c51132f8242 chore(deps): bump aws-actions/amazon-ecr-login from 2.1.1 to 2.1.2 (#39042)
add f2ff24d811f chore(deps): bump @ant-design/icons from 5.6.1 to 6.1.1 in /superset-frontend (#39050)
add 0330fdeb00e chore(deps-dev): bump ts-jest from 29.4.6 to 29.4.9 in /superset-websocket (#39029)
add 0452d1515a3 chore(deps-dev): bump @babel/preset-env from 7.29.0 to 7.29.2 in /superset-frontend (#39028)
add ace5f9d8c20 chore(deps): bump lodash from 4.17.23 to 4.18.1 in /superset-frontend/cypress-base (#39027)
add a9ced5c8815 chore(deps): bump lodash-es from 4.17.23 to 4.18.1 in /superset-frontend (#39026)
add 7e0c634c3a7 chore(deps-dev): bump typescript-eslint from 8.56.1 to 8.58.0 in /superset-websocket (#38997)
add 3239f058c81 chore(deps-dev): bump baseline-browser-mapping from 2.10.10 to 2.10.13 in /superset-frontend (#39044)
add c5bce756f0c chore(deps): bump yeoman-generator from 7.5.1 to 8.1.2 in /superset-frontend (#38671)
add 851bbeea485 fix(mcp): improve execute_sql response-too-large error to suggest limit parameter (#39003)
add c7d175b8420 fix(dashboard): remove opacity on filter dropdown (#39074)
add b3a402d9365 fix(mcp): handle stale SSL connections, heatmap duplicate labels, and session rollback (#39015)
add 613e6d6cde4 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend (#39093)
add e424b550362 chore(deps-dev): bump babel-loader from 10.1.0 to 10.1.1 in /superset-frontend (#39090)
add 7a64483e6bf chore(deps-dev): bump @swc/plugin-emotion from 14.7.0 to 14.8.0 in /superset-frontend (#39088)
add 6b029997d92 chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#39087)
add 8195574345e chore(deps): bump anthropics/claude-code-action from 1.0.85 to 1.0.87 (#39083)
add e5ae626433f chore(deps): bump dawidd6/action-download-artifact from 19 to 20 (#39081)
add d796543f5a0 chore(deps): update @deck.gl/react requirement from ~9.2.9 to ~9.2.11 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#39033)
add 12eb40db011 fix(SQL Lab): handle columns without names (#38986)
add a3dfbd7bffa fix(deps): revert simple-zstd from 2.1.0 back to 1.4.2 (#39139)
add a62be684a05 feat(mcp): add database connection listing and info tools (#39111)
add 7c79b9ab618 fix(migrations): check pre-existing foreign keys on create util (#39099)
add e56f8cc4fb1 fix(security_manager): custom auth_view issue (#39098)
add 7380a59ab8a fix(mcp): fix form_data null, dataset URL, ASCII preview, and chart rename (#39109)
add 92747246fc7 fix(mcp): remove JWT ValueError g.user fallback in auth layer (#39106)
add 83ad1eca26b fix(mcp): add dynamic response truncation for oversized info tool responses (#39107)
add 7be2acb2f3c fix(mcp): add description and certification fields to default list tool columns (#39017)
add b05764d070d feat: Add currencies controls in country map (#39016)
add bf9aff19b54 fix(mcp): compress chart config schemas to reduce search_tools token usage (#39018)
add 027de6339ba chore(deps-dev): bump jsdom from 29.0.1 to 29.0.2 in /superset-frontend (#39155)
add 8e811de5643 chore(deps): bump hot-shots from 14.2.0 to 14.3.1 in /superset-websocket (#39147)
add 5f9fc31ae23 feat(mcp): add get_chart_type_schema tool for on-demand schema discovery (#39142)
add 5ccfc530b26 chore(deps): bump geolib from 3.3.4 to 3.3.14 in /superset-frontend (#39092)
add 3db92021c76 chore(deps-dev): bump eslint from 10.1.0 to 10.2.0 in /superset-websocket (#39123)
add 97508811933 chore(deps-dev): bump @types/node from 25.5.0 to 25.5.2 in /superset-websocket (#39125)
add 96fa2cbd2b9 chore(deps): update @deck.gl/aggregation-layers requirement from ~9.2.9 to ~9.2.11 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#39126)
add d159edc9a69 chore(deps-dev): bump @swc/core from 1.15.21 to 1.15.24 in /superset-frontend (#39127)
add a626d064156 chore(deps): bump caniuse-lite from 1.0.30001784 to 1.0.30001786 in /docs (#39128)
add 7e452df1cc6 chore(deps): bump anthropics/claude-code-action from 1.0.87 to 1.0.89 (#39132)
add 2bd41316367 chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#39134)
add 5106afb07f3 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend (#39145)
add 6ba90968701 fix(explore): handle boolean false values correctly in control rendering (#39172)
add 4f695e1b4d2 fix(filterReports): _generate_native_filter() crashes on null/empty filterValues (#38954)
add 3a3a6536b7e fix(explore): Unnecessary scroll bars appearing on charts in Explore (#39160)
add 587fe4af632 fix(reports): propagate PlaywrightTimeout so execution transitions to ERROR state (#39176)
add 140f0001f21 fix(sqllab): demote "Save as new" button from primary to secondary (#39179)
add a64609f4f39 fix(explore): add left-indentation to control panel hierarchy (#39177)
add 36de05fe366 fix(plugin-chart-handlebars): improve CSS sanitization tooltip and hide when not needed (#39180)
add ed659958f31 fix(sqllab): use monospace font for SQL in database error messages (#39181)
add 62302ad8c3a perf(webpack): reduce watch mode memory usage and fix docker-compose-light env (#39183)
add 4c2dd634643 fix(sqllab): Update style for code viewer container (#39075)
add 2e80f2a473a fix: add template_processor so Jinja gets rendered before SQLGlot parse (#39207)
add d5017e60c34 fix(sqllab): fix table navigator schema list, pin/unpin UX, copy actions, icons, and toolbar colors (#39173)
add b8b2bdedf9b fix(ace-editor): style bracket matching to blend with theme (#39182)
add 63cceb6a799 refactor(plugins): replace react-icons with antd icons, remove 83MB dependency (#39184)
add d63308ca372 fix(frontend): fix loading spinner positioning in Save modal and filters panel (#39205)
add 4e0890ee1fb feat(api): Add filter_dashboard_id parameter to apply dashboard filters to chart/data endpoint (#38638)
add 1bde6f3bfda fix(mcp): resolve null fields in list_datasets, list_databases, and save_sql_query (#39206)
add bad5a35fce0 fix(explore): constrain Edit Dataset modal height to prevent footer cutoff (#39211)
add d915e4f3ff7 fix(tags): fix Bulk tag modal dropdown clipping and stale tag cache (#39210)
add c49641538d5 feat: modernize deck.gl and map plugins with MapLibre/Mapbox dual renderer (#38035)
add 5263abdc60e fix(AlertsReports): untie filters from alerts reports tabs flag (#38722)
add 6649f35a0d6 fix(reports): escape SQL LIKE wildcards in find_by_extra_metadata (#38738)
add 5815665cc62 feat: role/user CRUD events and login/logout tracking in the action log (#39121)
add 68067d7f44f fix(mcp): handle OAuth-authenticated databases in execute_sql (#39166)
add c7955a38ef7 fix: Drill to Detail for Embedded (#39214)
add f49310b8ff8 fix(sql-lab): apply access check in SqlExecutionResultsCommand (#38952)
add e17cf3c8086 fix(mcp): wire up compact schema serialization for search_tools results (#39229)
add 680cef0ee07 fix(mcp): strip json_metadata and position_json from get_dashboard_info response (#39101)
add e39dd1afce3 fix: implement native browser fullscreen for dashboard charts (#38819)
add 8bcc90c7664 fix(dashboard): Vertical filter bar gradient is extending past the filter bar area (#39204)
add aba7e6dae46 fix(table): cross-filtering breaks after renaming column labels via Custom SQL (#38858)
add b1d69f5b398 docs(api): add Theme API endpoints to OpenAPI spec (#37943)
add f632d2474b3 chore(deps-dev): bump webpack from 5.105.4 to 5.106.0 in /superset-frontend (#39268)
add 4583ef93a47 chore(deps-dev): bump prettier from 3.8.1 to 3.8.2 in /superset-frontend (#39263)
add 1ad76e847e7 chore(deps-dev): bump prettier from 3.8.1 to 3.8.2 in /superset-websocket (#39260)
add b65396ccd4e chore(deps-dev): bump @types/node from 25.5.2 to 25.6.0 in /superset-websocket (#39262)
add f1cf274751d chore(deps): bump axios from 1.13.5 to 1.15.0 in /docs (#39259)
add 2ff50667e77 chore(deps): bump axios from 1.13.5 to 1.15.0 in /superset-frontend (#39258)
add 69c8eef78e9 fix(ag-grid): jpeg export of ag-grid tables (#38781)
add e9911fbac4a fix(echarts): prevent tooltip crash during dashboard auto-refresh (#39277)
add 450701ecec3 fix(SqlLab): improve SQL diff modal — responsive width, padding, tabs, and copy button (#39246)
add 0aa8cace1b6 fix(dataset-editor): fix SQL expression editor extra spaces and height expansion (#39248)
add 98146251c4f fix(tests): improve ShareMenuItems test isolation to fix intermittent suite failure (#39280)
add 7a243d329ef fix(dashboard): allow filter list to scroll in filter config modal sidebar (#39203)
add eea3557f612 fix(dashboard): hide "Filters out of scope" section when empty (#39201)
add de40b58e105 fix(tests): fix async teardown leak in FiltersConfigModal.test.tsx (#39281)
add fa1f12a0b5f fix(explore): replace TableView with virtualized GridTable, add row limit controls, restore sample filters (#39212)
add de98fdc37ba test(heatmap): restore buildQuery coverage on master (#39329)
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 32eb7601bb7 Merge branch 'master' into fix/resolve-oom-issues-when-building-docs-with-docusaurus-faster
add 465600f0b39 chore: update docs with latest build result + refactor docusaurus to use `future.faster`
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (05db16d9c4c)
\
N -- N -- N refs/heads/fix/resolve-oom-issues-when-building-docs-with-docusaurus-faster (465600f0b39)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 5 +
.github/SECURITY.md | 37 +-
.github/actions/setup-docker/action.yml | 6 +-
.github/dependabot.yml | 4 +
.github/labeler.yml | 5 +
.github/workflows/bump-python-package.yml | 20 +-
.github/workflows/cancel_duplicates.yml | 2 +-
.github/workflows/check-python-deps.yml | 2 +-
.github/workflows/check_db_migration_confict.yml | 4 +-
.github/workflows/claude.yml | 6 +-
.github/workflows/codeql-analysis.yml | 2 +-
.github/workflows/dependency-review.yml | 6 +-
.github/workflows/docker.yml | 21 +-
.github/workflows/embedded-sdk-release.yml | 8 +-
.github/workflows/embedded-sdk-test.yml | 4 +-
.github/workflows/ephemeral-env-pr-close.yml | 10 +-
.github/workflows/ephemeral-env.yml | 40 +-
.github/workflows/generate-FOSSA-report.yml | 8 +-
.github/workflows/github-action-validator.yml | 4 +-
.github/workflows/issue_creation.yml | 2 +-
.github/workflows/latest-release-tag.yml | 2 +-
.github/workflows/license-check.yml | 4 +-
.github/workflows/no-hold-label.yml | 2 +-
.github/workflows/pr-lint.yml | 2 +-
.github/workflows/pre-commit.yml | 6 +-
.github/workflows/release.yml | 12 +-
.github/workflows/showtime-trigger.yml | 18 +-
.github/workflows/superset-app-cli.yml | 2 +-
.github/workflows/superset-docs-deploy.yml | 14 +-
.github/workflows/superset-docs-verify.yml | 13 +-
.github/workflows/superset-e2e.yml | 20 +-
.github/workflows/superset-extensions-cli.yml | 6 +-
.github/workflows/superset-frontend.yml | 35 +-
.github/workflows/superset-helm-lint.yml | 4 +-
.github/workflows/superset-helm-release.yml | 6 +-
.github/workflows/superset-playwright.yml | 10 +-
.../workflows/superset-python-integrationtest.yml | 29 +-
.github/workflows/superset-python-presto-hive.yml | 18 +-
.github/workflows/superset-python-unittest.yml | 9 +-
.github/workflows/superset-translations.yml | 10 +-
.github/workflows/superset-websocket.yml | 2 +-
.github/workflows/supersetbot.yml | 4 +-
.github/workflows/tag-release.yml | 24 +-
.github/workflows/tech-debt.yml | 8 +-
.gitignore | 2 +
RELEASING/README.md | 2 +-
RESOURCES/INTHEWILD.yaml | 5 +
UPDATING.md | 26 +-
docker-compose-light.yml | 9 +
docker/docker-bootstrap.sh | 2 +-
docs/admin_docs/configuration/aws-iam.mdx | 162 +
.../configuration/configuring-superset.mdx | 8 +
.../importing-exporting-datasources.mdx | 27 +
docs/admin_docs/configuration/mcp-server.mdx | 27 +
docs/admin_docs/configuration/sql-templating.mdx | 31 +-
docs/admin_docs/security/security.mdx | 8 +
docs/developer_docs/api.mdx | 600 +-
docs/developer_docs/extensions/development.md | 10 +-
docs/developer_docs/extensions/quick-start.md | 2 +-
docs/developer_docs/testing/backend-testing.md | 103 +
docs/docs/faq.mdx | 2 +-
docs/docs/security/granular-export-controls.mdx | 78 +
.../creating-your-first-dashboard.mdx | 80 +
docs/docs/using-superset/embedding.mdx | 130 +
docs/docs/using-superset/exploring-data.mdx | 21 +
.../docs/using-superset/using-ai-with-superset.mdx | 42 +-
docs/docusaurus.config.ts | 2 +-
docs/package.json | 47 +-
docs/scripts/fix-openapi-spec.py | 25 +
docs/scripts/generate-api-index.mjs | 6 +-
docs/src/data/databases.json | 30 +-
docs/static/feature-flags.json | 6 +
docs/static/img/logos/hifadih.png | Bin 0 -> 18383 bytes
docs/static/resources/openapi.json | 8663 ++++++++++++-----
docs/tsconfig.json | 1 +
.../configuration/configuring-superset.mdx | 8 +
docs/versioned_docs/version-6.0.0/faq.mdx | 2 +-
docs/yarn.lock | 2424 +++--
pyproject.toml | 12 +-
requirements/base.in | 10 +
requirements/base.txt | 36 +-
requirements/development.txt | 92 +-
superset-core/pyproject.toml | 6 +-
superset-core/src/superset_core/mcp/decorators.py | 11 +
superset-embedded-sdk/package-lock.json | 88 +-
superset-extensions-cli/pyproject.toml | 7 +-
.../src/superset_extensions_cli/cli.py | 169 +-
.../templates/{.gitignore.j2 => gitignore.j2} | 0
.../src/superset_extensions_cli/utils.py | 10 +
superset-extensions-cli/tests/conftest.py | 68 +
superset-extensions-cli/tests/test_cli_build.py | 4 +-
superset-extensions-cli/tests/test_cli_bundle.py | 8 +-
superset-extensions-cli/tests/test_cli_init.py | 60 +-
superset-extensions-cli/tests/test_cli_update.py | 172 +
superset-extensions-cli/tests/test_cli_validate.py | 63 +
superset-extensions-cli/tests/test_utils.py | 31 +-
superset-frontend/.eslintrc.js | 1 -
.../cypress/e2e/chart_list/list.test.ts | 171 -
.../cypress/e2e/dataset/dataset_list.test.ts | 42 -
.../cypress-base/cypress/e2e/explore/utils.ts | 33 +-
.../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 -
.../cypress-base/cypress/utils/index.ts | 22 -
.../cypress-base/cypress/utils/urls.ts | 5 -
superset-frontend/cypress-base/package-lock.json | 60 +-
superset-frontend/jest.config.js | 2 +-
superset-frontend/oxlint.json | 99 +-
superset-frontend/package-lock.json | 9959 ++++++++++----------
superset-frontend/package.json | 125 +-
.../packages/generator-superset/package.json | 6 +-
.../packages/superset-core/package.json | 10 +-
.../packages/superset-core/src/editors/index.ts | 43 +
.../packages/superset-core/src/sqlLab/index.ts | 16 +
.../superset-core/src/theme/Theme.test.tsx | 70 +
.../packages/superset-core/src/theme/Theme.tsx | 15 +
.../packages/superset-core/src/theme/types.ts | 70 +
.../superset-ui-chart-controls/package.json | 5 +-
.../src/components/ColumnOption.tsx | 2 +-
.../src/components/ControlSubSectionHeader.tsx | 4 +
.../src/components/labelUtils.tsx | 23 +-
.../src/operators/utils/timeOffset.ts | 12 +-
.../src/sections/chartTitle.tsx | 6 +-
.../src/sections/matrixify.tsx | 42 +-
.../src/shared-controls/matrixifyControls.test.ts | 139 +
.../src/shared-controls/matrixifyControls.tsx | 118 +-
.../superset-ui-chart-controls/src/types.ts | 5 +
.../src/utils/getColorFormatters.ts | 63 +
.../test/components/labelUtils.test.tsx | 19 +
.../test/operators/utils/timeOffset.test.ts | 92 +-
.../test/utils/getColorFormatters.test.ts | 63 +
.../packages/superset-ui-core/package.json | 38 +-
.../src/chart-composition/ChartFrame.tsx | 63 +-
.../src/chart-composition/legend/WithLegend.tsx | 167 +-
.../src/chart-composition/tooltip/TooltipFrame.tsx | 28 +-
.../Matrixify/MatrixifyGridGenerator.test.ts | 32 +
.../Matrixify/MatrixifyGridRenderer.test.tsx | 56 +-
.../components/Matrixify/MatrixifyGridRenderer.tsx | 6 +-
.../superset-ui-core/src/chart/types/VizType.ts | 1 +
.../src/chart/types/matrixify.test.ts | 137 +-
.../superset-ui-core/src/chart/types/matrixify.ts | 97 +-
.../src/components/AsyncAceEditor/index.tsx | 15 +
.../src/components/AsyncEsmComponent/index.tsx | 22 +-
.../src/components/Button/Button.test.tsx | 167 +
.../src/components/Button/index.tsx | 75 +-
.../CodeSyntaxHighlighter/index.test.tsx | 42 +-
.../src/components/CodeSyntaxHighlighter/index.tsx | 107 +-
.../DropdownContainer/DropdownContainer.tsx | 1 +
.../src/components/EditableTitle/index.tsx | 11 +-
.../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/Icons/AntdEnhanced.tsx | 4 +
.../Label/reusable/DatasetTypeLabel.test.tsx | 128 +
.../components/Label/reusable/DatasetTypeLabel.tsx | 45 +-
.../Label/reusable/PublishedLabel.test.tsx | 120 +
.../components/Label/reusable/PublishedLabel.tsx | 22 +-
.../src/components/Label/reusable/testUtils.tsx} | 26 +-
.../src/components/ListViewCard/index.tsx | 11 +-
.../superset-ui-core/src/components/Menu/index.tsx | 52 +-
.../src/components/MetadataBar/ContentConfig.tsx | 2 +-
.../src/components/Select/Select.test.tsx | 106 +-
.../src/components/Select/Select.tsx | 29 +-
.../src/components/Select/styles.tsx | 10 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 5 +
.../ThemedAgGridReact/ThemedAgGridReact.test.tsx | 45 +-
.../src/components/ThemedAgGridReact/index.tsx | 50 +-
.../superset-ui-core/src/components/index.ts | 1 +
.../superset-ui-core/src/query/types/Dashboard.ts | 1 +
.../superset-ui-core/src/query/types/Operator.ts | 1 +
.../superset-ui-core}/src/utils/copy.ts | 5 +-
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../packages/superset-ui-core/src/utils/index.ts | 1 +
.../test/time-comparison/getTimeOffset.test.ts | 42 +-
.../test/time-comparison/parseDttmToDate.test.ts | 114 +-
.../superset-ui-core/test/utils/copy.test.ts | 216 +
.../test/utils/featureFlag.test.ts | 13 +
superset-frontend/playwright.config.ts | 17 +
.../playwright/components/core/AgGrid.ts | 85 +
.../playwright/components/core/EditableTabs.ts | 46 +
.../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/SaveDatasetModal.ts} | 44 +-
.../components/modals/SaveQueryModal.ts} | 44 +-
.../playwright/components/modals/index.ts | 5 +
.../playwright/helpers/api/assertions.ts | 16 +
.../playwright/helpers/api/dashboard.ts | 1 +
.../{utils/urls.ts => helpers/api/savedQuery.ts} | 43 +-
superset-frontend/playwright/helpers/api/theme.ts | 62 +
.../playwright/helpers/fixtures/testAssets.ts | 44 +-
superset-frontend/playwright/pages/AuthPage.ts | 4 +-
.../playwright/pages/ChartListPage.ts | 39 +-
superset-frontend/playwright/pages/SqlLabPage.ts | 371 +
.../playwright/tests/auth/login.spec.ts | 37 +-
.../{experimental => }/chart/chart-list.spec.ts | 73 +-
.../{experimental => }/chart/chart-test-helpers.ts | 6 +-
.../dashboard/dashboard-list.spec.ts | 21 +-
.../dashboard/dashboard-test-helpers.ts | 4 +-
.../{experimental => }/dashboard/export.spec.ts | 6 +-
.../playwright/tests/dashboard/theme.spec.ts | 152 +
.../dataset/create-dataset.spec.ts | 20 +-
.../dataset/dataset-list.spec.ts | 57 +-
.../dataset/dataset-test-helpers.ts | 4 +-
.../playwright/tests/sqllab/sqllab.spec.ts | 315 +
superset-frontend/playwright/utils/constants.ts | 16 +
superset-frontend/playwright/utils/urls.ts | 1 +
.../plugins/legacy-plugin-chart-chord/package.json | 2 +-
.../src/CountryMap.ts | 9 +-
.../src/controlPanel.ts | 1 +
.../src/transformProps.ts | 28 +-
.../test/CountryMap.test.tsx | 3 +
.../legacy-plugin-chart-map-box/CHANGELOG.md | 55 -
.../plugins/legacy-plugin-chart-map-box/README.md | 52 -
.../legacy-plugin-chart-map-box/src/MapBox.tsx | 191 -
.../src/ScatterPlotGlowOverlay.tsx | 400 -
.../src/stories/MapBox.stories.tsx | 107 -
.../src/transformProps.ts | 120 -
.../test/ScatterPlotGlowOverlay.test.tsx | 346 -
.../legacy-plugin-chart-map-box/test/tsconfig.json | 9 -
.../test/utils/roundDecimal.test.ts | 28 -
.../legacy-plugin-chart-map-box/tsconfig.json | 25 -
.../types/external.d.ts | 101 -
.../src/ParallelCoordinates.ts | 28 +-
.../src/ReactParallelCoordinates.tsx | 4 +
.../src/transformProps.ts | 10 +-
.../legacy-plugin-chart-world-map/src/WorldMap.ts | 14 +-
.../test/WorldMap.test.ts | 53 +
.../legacy-preset-chart-deckgl/CHANGELOG.md | 89 -
.../plugins/legacy-preset-chart-deckgl/README.md | 57 -
.../test/utils/getPointsFromPolygon.test.ts | 56 -
.../legacy-preset-chart-deckgl/types/external.d.ts | 71 -
.../plugins/legacy-preset-chart-nvd3/package.json | 4 +-
.../plugin-chart-ag-grid-table/package.json | 5 +-
.../src/AgGridTable/index.tsx | 41 +-
.../src/AgGridTableChart.tsx | 92 +-
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 91 +-
.../src/styles/index.tsx | 11 +
.../src/transformProps.ts | 43 +-
.../plugin-chart-ag-grid-table/src/types.ts | 1 +
.../src/utils/getCellClass.ts | 4 -
.../src/utils/getCellStyle.ts | 33 +-
.../src/utils/getCrossFilterDataMask.ts | 49 +
.../src/utils/reconcileColumnState.test.ts | 86 +
.../src/utils/reconcileColumnState.ts | 83 +
.../src/utils/useColDefs.ts | 26 +-
.../test/buildQuery.test.ts | 275 +-
.../test/utils/useColDefs.test.ts | 743 +-
.../plugins/plugin-chart-cartodiagram/package.json | 14 +-
.../test/util/layerUtil.test.ts | 7 +-
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../src/BigNumber/BigNumberTotal/transformProps.ts | 5 +-
.../src/BigNumber/BigNumberViz.tsx | 11 +-
.../src/BigNumber/constants.tsx} | 9 +-
.../plugin-chart-echarts/src/Bubble/constants.ts | 4 +-
.../src/Bubble/controlPanel.tsx | 4 +-
.../src/Bubble/transformProps.ts | 35 +-
.../src/Funnel/transformProps.ts | 29 +-
.../src/Gantt/transformProps.ts | 48 +-
.../src/Graph/transformProps.ts | 29 +-
.../src/MixedTimeseries/transformProps.ts | 95 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 33 +-
.../src/Radar/transformProps.ts | 31 +-
.../src/Timeseries/Area/controlPanel.tsx | 27 +
.../src/Timeseries/EchartsTimeseries.test.tsx | 4 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 38 +-
.../src/Timeseries/Regular/Line/controlPanel.tsx | 27 +
.../Timeseries/Regular/Scatter/controlPanel.tsx | 60 +-
.../Timeseries/Regular/SmoothLine/controlPanel.tsx | 27 +
.../src/Timeseries/Step/controlPanel.tsx | 27 +
.../src/Timeseries/constants.ts | 4 +-
.../src/Timeseries/transformProps.ts | 313 +-
.../src/Timeseries/transformers.ts | 7 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 18 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 9 +-
.../plugins/plugin-chart-echarts/src/types.ts | 1 +
.../plugin-chart-echarts/src/utils/forecast.ts | 3 +-
.../plugin-chart-echarts/src/utils/legendLayout.ts | 56 +
.../plugin-chart-echarts/src/utils/series.ts | 372 +-
.../plugin-chart-echarts/src/utils/tooltip.ts | 3 +-
.../test/Gantt/transformProps.test.ts | 65 +
.../test/Heatmap/buildQuery.test.ts | 95 +-
.../test/MixedTimeseries/transformProps.test.ts | 67 +-
.../test/Pie/transformProps.test.ts | 46 +
.../test/Timeseries/Area/controlPanel.test.ts | 115 +
.../test/Timeseries/Bar/controlPanel.test.ts | 74 +
.../test/Timeseries/Bar/transformProps.test.ts | 366 +-
.../test/Timeseries/Line/controlPanel.test.ts | 115 +
.../test/Timeseries/Scatter/controlPanel.test.ts | 54 +-
.../Timeseries/SmoothLine/controlPanel.test.ts | 101 +
.../test/Timeseries/Step/controlPanel.test.ts | 115 +
.../test/Timeseries/transformProps.test.ts | 253 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 312 +-
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../src/plugin/controls/style.tsx | 19 +-
.../plugins/plugin-chart-pivot-table/package.json | 5 +-
.../src/PivotTableChart.tsx | 54 +-
.../src/react-pivottable/TableRenderers.tsx | 104 +-
.../test/react-pivottable/tableRenders.test.tsx | 601 +-
.../package.json | 19 +-
.../src/MapLibre.css} | 2 +-
.../src/MapLibre.tsx | 216 +
.../src/buildQuery.ts | 90 +
.../src/components/CanvasOverlay.tsx | 121 +
.../src/components/ScatterPlotOverlay.tsx | 400 +
.../src/controlPanel.ts | 131 +-
.../src/images/MapBox-dark.jpg | Bin
.../src/images/MapBox.jpg | Bin
.../src/images/MapBox2-dark.jpg | Bin
.../src/images/MapBox2.jpg | Bin
.../src/images/thumbnail-dark.png | Bin
.../src/images/thumbnail.png | Bin
.../src/images/thumbnailLarge.png | Bin
.../src/index.ts | 11 +-
.../src/stories/PointClusterMap.stories.tsx | 176 +
.../src/stories/data.ts | 0
.../src/transformProps.ts | 292 +
.../src/utils/geo.ts | 0
.../src/utils/luminanceFromRGB.ts | 0
.../src/utils/mapbox.ts} | 25 +-
.../src/utils/roundDecimal.ts | 0
.../test/MapLibre.test.tsx | 262 +
.../test/ScatterPlotOverlay.test.tsx | 889 ++
.../test/controlPanel.test.ts | 81 +
.../test/transformProps.test.ts | 232 +
.../tsconfig.json | 5 -
.../types/external.d.ts} | 13 +-
.../plugins/plugin-chart-table/package.json | 7 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 58 +-
.../plugin-chart-table/src/transformProps.ts | 16 +
.../plugins/plugin-chart-table/src/types.ts | 4 +
.../plugin-chart-table/test/TableChart.test.tsx | 567 +-
.../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 +
.../package.json | 35 +-
.../src/CategoricalDeckGLContainer.tsx | 17 +-
.../src/DeckGLContainer.tsx | 138 +-
.../src/Multi/Multi.test.tsx | 2 +-
.../src/Multi/Multi.tsx | 14 +-
.../src/Multi/controlPanel.test.ts | 0
.../src/Multi/controlPanel.ts | 10 +-
.../src/Multi/images/example-dark.png | Bin
.../src/Multi/images/example.png | Bin
.../src/Multi/images/thumbnail-dark.png | Bin
.../src/Multi/images/thumbnail.png | Bin
.../src/Multi/images/thumbnailLarge.png | Bin
.../src/Multi/index.ts | 0
.../src/TooltipRow.tsx | 0
.../src/components/DeckGLOverlayMapLibre.tsx} | 14 +-
.../src/components/DeckGLOverlayMapbox.tsx} | 14 +-
.../src/components/Legend.tsx | 10 +-
.../src/components/Tooltip.tsx | 8 +-
.../src/factory.tsx | 15 +-
.../src/index.ts | 0
.../src/layers/Arc/Arc.tsx | 0
.../src/layers/Arc/buildQuery.ts | 0
.../src/layers/Arc/controlPanel.ts | 9 +-
.../src/layers/Arc/images/example-dark.png | Bin
.../src/layers/Arc/images/example.png | Bin
.../src/layers/Arc/images/thumbnail-dark.png | Bin
.../src/layers/Arc/images/thumbnail.png | Bin
.../src/layers/Arc/images/thumbnailLarge.png | Bin
.../src/layers/Arc/index.ts | 0
.../src/layers/Arc/stories/Arc.stories.tsx | 7 +-
.../src/layers/Arc/stories/payload.ts | 0
.../src/layers/Arc/transformProps.ts | 0
.../src/layers/Contour/Contour.tsx | 0
.../src/layers/Contour/buildQuery.ts | 0
.../src/layers/Contour/controlPanel.ts | 4 +
.../src/layers/Contour/getSafeCellSize.test.ts | 0
.../src/layers/Contour/getSafeCellSize.ts | 0
.../src/layers/Contour/images/example-dark.png | Bin
.../src/layers/Contour/images/example.png | Bin
.../src/layers/Contour/images/thumbnail-dark.png | Bin
.../src/layers/Contour/images/thumbnail.png | Bin
.../src/layers/Contour/images/thumbnailLarge.png | Bin
.../src/layers/Contour/index.ts | 0
.../src/layers/Contour/transformProps.ts | 0
.../src/layers/Geojson/Geojson.test.ts | 5 +-
.../src/layers/Geojson/Geojson.tsx | 16 +-
.../src/layers/Geojson/buildQuery.ts | 86 +
.../src/layers/Geojson/controlPanel.ts | 9 +-
.../src/layers/Geojson/images/example-dark.png | Bin
.../src/layers/Geojson/images/example.png | Bin
.../src/layers/Geojson/images/thumbnail-dark.png | Bin
.../src/layers/Geojson/images/thumbnail.png | Bin
.../src/layers/Geojson/images/thumbnailLarge.png | Bin
.../src/layers/Geojson/index.ts | 5 +-
.../src/layers/Geojson/transformProps.ts | 50 +
.../src/layers/Grid/Grid.tsx | 0
.../src/layers/Grid/buildQuery.ts | 0
.../src/layers/Grid/controlPanel.ts | 4 +
.../src/layers/Grid/images/example-dark.png | Bin
.../src/layers/Grid/images/example.png | Bin
.../src/layers/Grid/images/thumbnail-dark.png | Bin
.../src/layers/Grid/images/thumbnail.png | Bin
.../src/layers/Grid/images/thumbnailLarge.png | Bin
.../src/layers/Grid/index.ts | 0
.../src/layers/Grid/stories/Grid.stories.tsx | 7 +-
.../src/layers/Grid/stories/payload.ts | 0
.../src/layers/Grid/transformProps.ts | 0
.../src/layers/Heatmap/Heatmap.tsx | 8 +-
.../src/layers/Heatmap/buildQuery.ts | 0
.../src/layers/Heatmap/controlPanel.ts | 4 +
.../src/layers/Heatmap/images/example-dark.png | Bin
.../src/layers/Heatmap/images/example.png | Bin
.../src/layers/Heatmap/images/thumbnail-dark.png | Bin
.../src/layers/Heatmap/images/thumbnail.png | Bin
.../src/layers/Heatmap/images/thumbnailLarge.png | Bin
.../src/layers/Heatmap/index.ts | 0
.../src/layers/Heatmap/transformProps.ts | 0
.../src/layers/Hex/Hex.tsx | 0
.../src/layers/Hex/buildQuery.ts | 0
.../src/layers/Hex/controlPanel.ts | 4 +
.../src/layers/Hex/images/example-dark.png | Bin
.../src/layers/Hex/images/example.png | Bin
.../src/layers/Hex/images/thumbnail-dark.png | Bin
.../src/layers/Hex/images/thumbnail.png | Bin
.../src/layers/Hex/images/thumbnailLarge.png | Bin
.../src/layers/Hex/index.ts | 0
.../src/layers/Hex/stories/Hex.stories.tsx | 7 +-
.../src/layers/Hex/stories/payload.ts | 0
.../src/layers/Hex/transformProps.ts | 0
.../src/layers/Path/Path.test.tsx | 0
.../src/layers/Path/Path.tsx | 2 +-
.../src/layers/Path/buildQuery.ts | 0
.../src/layers/Path/controlPanel.ts | 4 +
.../src/layers/Path/images/example-dark.png | Bin
.../src/layers/Path/images/example.png | Bin
.../src/layers/Path/images/thumbnail-dark.png | Bin
.../src/layers/Path/images/thumbnail.png | Bin
.../src/layers/Path/images/thumbnailLarge.png | Bin
.../src/layers/Path/index.ts | 0
.../src/layers/Path/stories/Path.stories.tsx | 7 +-
.../src/layers/Path/stories/payload.ts | 0
.../src/layers/Path/transformProps.ts | 0
.../src/layers/Polygon/Polygon.test.tsx | 2 +-
.../src/layers/Polygon/Polygon.tsx | 3 +-
.../src/layers/Polygon/buildQuery.test.ts | 0
.../src/layers/Polygon/buildQuery.ts | 0
.../src/layers/Polygon/controlPanel.ts | 10 +-
.../src/layers/Polygon/images/example-dark.png | Bin
.../src/layers/Polygon/images/example.png | Bin
.../src/layers/Polygon/images/thumbnail-dark.png | Bin
.../src/layers/Polygon/images/thumbnail.png | Bin
.../src/layers/Polygon/images/thumbnailLarge.png | Bin
.../src/layers/Polygon/index.ts | 0
.../src/layers/Polygon/stories/Polygon.stories.tsx | 10 +-
.../src/layers/Polygon/stories/geojsonPayload.ts | 0
.../src/layers/Polygon/stories/payload.ts | 0
.../src/layers/Polygon/transformProps.test.ts | 120 +
.../src/layers/Polygon/transformProps.ts | 4 +
.../src/layers/Scatter/Scatter.tsx | 0
.../src/layers/Scatter/buildQuery.test.ts | 0
.../src/layers/Scatter/buildQuery.ts | 0
.../src/layers/Scatter/controlPanel.ts | 9 +-
.../src/layers/Scatter/images/example-dark.png | Bin
.../src/layers/Scatter/images/example.png | Bin
.../src/layers/Scatter/images/thumbnail-dark.png | Bin
.../src/layers/Scatter/images/thumbnail.png | Bin
.../src/layers/Scatter/images/thumbnailLarge.png | Bin
.../src/layers/Scatter/index.ts | 0
.../src/layers/Scatter/stories/Scatter.stories.tsx | 7 +-
.../src/layers/Scatter/stories/payload.ts | 0
.../src/layers/Scatter/transformProps.test.ts | 0
.../src/layers/Scatter/transformProps.ts | 0
.../src/layers/Screengrid/Screengrid.tsx | 9 +-
.../src/layers/Screengrid/buildQuery.ts | 0
.../src/layers/Screengrid/controlPanel.ts | 9 +-
.../src/layers/Screengrid/images/example-dark.png | Bin
.../src/layers/Screengrid/images/example.png | Bin
.../layers/Screengrid/images/thumbnail-dark.png | Bin
.../src/layers/Screengrid/images/thumbnail.png | Bin
.../layers/Screengrid/images/thumbnailLarge.png | Bin
.../src/layers/Screengrid/index.ts | 0
.../Screengrid/stories/Screengrid.stories.tsx | 8 +-
.../src/layers/Screengrid/stories/payload.ts | 0
.../src/layers/Screengrid/transformProps.ts | 0
.../src/layers/buildQueryUtils.ts | 0
.../src/layers/common.test.ts | 0
.../src/layers/common.tsx | 0
.../src/layers/index.ts | 0
.../src/layers/spatialUtils.test.ts | 2 +-
.../src/layers/spatialUtils.ts | 26 +-
.../src/layers/transformUtils.test.ts | 0
.../src/layers/transformUtils.ts | 0
.../src/layers/utils/metricUtils.test.ts | 0
.../src/layers/utils/metricUtils.ts | 0
.../src/preset.ts | 0
.../src/transformProps.ts | 0
.../src/types.ts | 0
.../src/utilities/HandlebarsRenderer.tsx | 0
.../src/utilities/Shared_DeckGL.tsx | 71 +-
.../src/utilities/TooltipTemplateControl.tsx | 0
.../src/utilities/TooltipTemplateEditor.tsx | 0
.../src/utilities/controlRegistry.tsx | 0
.../src/utilities/controls.ts | 0
.../src/utilities/multiValueUtils.ts | 0
.../src/utilities/sharedDndControls.tsx | 0
.../src/utilities/tooltipUtils.tsx | 0
.../src/utilities/utils.ts | 0
.../src/utils.test.ts | 0
.../src/utils.ts | 45 -
.../src/utils/colors.ts | 0
.../src/utils/computeBoundsFromPoints.ts | 0
.../src/utils/crossFiltersDataMask.test.ts | 0
.../src/utils/crossFiltersDataMask.ts | 0
.../src/utils/explore.ts | 0
.../src/utils/fitViewport.ts | 0
.../src/utils/geo.ts | 0
.../src/utils/getPointsFromPolygon.ts | 0
.../src/utils/mapbox.ts} | 25 +-
.../src/utils/safeStringify.ts | 0
.../src/utils/sandbox.ts | 0
.../tsconfig.json | 5 -
.../types/external.d.ts} | 13 +-
superset-frontend/scripts/check-custom-rules.js | 6 +-
.../spec/helpers/extensionTestHelpers.ts | 70 +
.../src/SqlLab/actions/sqlLab.test.ts | 39 +
superset-frontend/src/SqlLab/actions/sqlLab.ts | 3 +-
.../SqlLab/components/AppLayout/AppLayout.test.tsx | 22 +-
.../src/SqlLab/components/ColumnElement/index.tsx | 12 +-
.../components/EditorWrapper/useKeywords.test.ts | 27 +-
.../SqlLab/components/EditorWrapper/useKeywords.ts | 108 +-
.../HighlightedSql/HighlightedSql.test.tsx | 37 +-
.../src/SqlLab/components/HighlightedSql/index.tsx | 68 +-
.../components/QueryHistory/QueryHistory.test.tsx | 52 +-
.../SqlLab/components/QueryLimitSelect/index.tsx | 2 +-
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 260 +-
.../src/SqlLab/components/ResultSet/index.tsx | 87 +-
.../components/SaveDatasetActionButton/index.tsx | 4 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 2 +-
.../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 19 +
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 3 +-
.../SqlLab/components/SouthPane/SouthPane.test.tsx | 74 +-
.../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx | 17 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 6 +-
.../SqlEditorTopBar/SqlEditorTopBar.test.tsx | 68 +-
.../SqlLab/components/StatusBar/StatusBar.test.tsx | 92 +-
.../TableExploreTree/TableExploreTree.test.tsx | 113 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 281 +-
.../SqlLab/components/TableExploreTree/index.tsx | 288 +-
.../components/TableExploreTree/useTreeData.ts | 218 +-
.../src/SqlLab/components/TablePreview/index.tsx | 2 +-
superset-frontend/src/SqlLab/fixtures.ts | 2 +-
.../src/SqlLab/hooks/useQueryEditor/index.ts | 3 +
.../src/SqlLab/reducers/getInitialState.test.ts | 1 +
superset-frontend/src/SqlLab/reducers/sqlLab.ts | 5 +-
...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 | 30 +-
.../DeckglLayerVisibility/useDeckLayerMetadata.ts | 3 +-
.../src/components/AlteredSliceTag/utils/index.ts | 4 +-
.../components/AlteredSliceTag/utils/utils.test.ts | 27 +
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 7 +-
.../src/components/Chart/ChartRenderer.test.tsx | 29 +-
.../src/components/Chart/ChartRenderer.tsx | 7 +-
.../components/Chart/DrillBy/DrillByModal.test.tsx | 115 +-
.../src/components/Chart/DrillBy/DrillByModal.tsx | 65 +-
.../Chart/DrillBy/DrillBySubmenu.test.tsx | 8 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 7 +-
.../Chart/DrillBy/useResultsTableView.test.ts | 75 +-
.../Chart/DrillBy/useResultsTableView.tsx | 34 +-
.../Chart/DrillDetail/DownloadDropdown.test.tsx | 57 +
.../Chart/DrillDetail/DownloadDropdown.tsx | 82 +
.../Chart/DrillDetail/DrillDetailPane.test.tsx | 67 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 75 +
.../DrillDetailTableControls.stories.tsx | 5 +
.../DrillDetail/DrillDetailTableControls.test.tsx | 13 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 52 +-
.../CopyToClipboard/CopyToClipboard.test.tsx | 24 +
.../src/components/CopyToClipboard/index.tsx | 20 +-
.../src/components/CopyToClipboard/types.ts | 1 +
.../src/components/CrudThemeProvider.test.tsx | 326 +
.../src/components/CrudThemeProvider.tsx | 94 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 6 +-
.../src/components/DatabaseSelector/index.tsx | 21 +-
.../Datasource/DatasourceModal/index.tsx | 15 +-
.../components/Datasource/FoldersEditor/styles.tsx | 1 -
.../DatasourceEditor/DatasourceEditor.tsx | 74 +-
.../ErrorMessage/DatabaseErrorMessage.tsx | 1 +
.../src/components/ErrorMessage/ErrorAlert.tsx | 12 +-
.../src/components/ErrorMessage/types.ts | 1 +
.../FilterableTable/FilterableTable.test.tsx | 46 +
.../src/components/FilterableTable/index.tsx | 20 +-
.../src/components/FilterableTable/utils.tsx | 1 +
.../src/components/JsonModal/index.tsx | 3 +-
.../src/components/JsonModal/types.ts | 1 +
.../src/components/ListView/ListView.tsx | 1 +
.../src/components/Modal/StandardModal.tsx | 3 +-
.../PanelToolbar/PanelToolbar.test.tsx} | 42 +-
.../src/components/PanelToolbar/index.tsx | 4 +-
.../TableSelector/TableSelector.test.tsx | 2 +-
superset-frontend/src/components/Tag/utils.tsx | 11 +-
.../src/core/editors/AceEditorProvider.tsx | 41 +-
superset-frontend/src/core/sqlLab/index.ts | 7 +
superset-frontend/src/core/sqlLab/sqlLab.test.ts | 585 ++
.../actions/chartCustomizationActions.test.ts | 273 +
.../dashboard/actions/chartCustomizationActions.ts | 9 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 10 +-
.../DashboardBuilder/DashboardBuilder.tsx | 52 +-
.../DashboardBuilder/DashboardContainer.test.tsx | 423 +-
.../DashboardBuilder/DashboardContainer.tsx | 45 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 2 +-
.../src/dashboard/components/Header/index.tsx | 7 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 3 +
.../PropertiesModal/PropertiesModal.test.tsx | 70 +
.../dashboard/components/PropertiesModal/index.tsx | 63 +-
.../PropertiesModal/sections/AdvancedSection.tsx | 2 +-
.../PropertiesModal/sections/StylingSection.tsx | 1 +
.../src/dashboard/components/SliceHeader/index.tsx | 4 +
.../SliceHeaderControls.test.tsx | 73 +-
.../components/SliceHeaderControls/Styles.tsx | 71 +
.../components/SliceHeaderControls/index.tsx | 89 +-
.../components/filterscope/FilterScope.test.tsx | 48 +-
.../components/gridComponents/Chart/Chart.tsx | 12 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 109 +-
.../components/gridComponents/Tab/Tab.test.tsx | 38 +
.../components/gridComponents/Tab/Tab.tsx | 2 +-
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 112 +-
.../components/menu/DownloadMenuItems/index.tsx | 29 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 34 +-
.../nativeFilters/ConfigModal/SharedStyles.tsx | 1 +
.../FilterBar/ActionButtons/ActionButtons.test.tsx | 28 -
.../FilterBar/ActionButtons/index.tsx | 11 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 17 +-
.../FilterBar/FilterBarSettings/index.tsx | 2 +-
.../FilterControls/FilterControl.test.tsx | 99 +
.../FilterBar/FilterControls/FilterControl.tsx | 7 +
.../FilterControls/FilterControlShared.test.tsx} | 19 +-
.../FilterControls/FilterControlShared.tsx | 24 +-
.../FilterControls/FilterControls.test.tsx | 13 +
.../FilterBar/FilterControls/FilterControls.tsx | 7 +-
.../FilterControls/FilterValue.timeGrain.test.ts | 60 +
.../FilterBar/FilterControls/FilterValue.tsx | 109 +-
.../FilterBar/FilterControls/state.test.ts | 177 +
.../FilterBar/FilterControls/state.ts | 40 +-
.../FiltersDropdownContent.test.tsx | 71 +
.../FilterBar/FiltersDropdownContent/index.tsx | 2 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 1 -
.../nativeFilters/FilterBar/Header/index.tsx | 6 +-
.../nativeFilters/FilterBar/Vertical.tsx | 12 +-
.../components/nativeFilters/FilterBar/index.tsx | 2 -
.../ConfigModalContent/ConfigModalContent.tsx | 25 +-
.../ConfigModalSidebar/ConfigModalSidebar.tsx | 122 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 1 +
.../FiltersConfigForm/FilterScope/utils.test.ts | 81 +-
.../FiltersConfigForm/FilterScope/utils.ts | 12 +
.../FiltersConfigForm/FiltersConfigForm.tsx | 246 +-
.../FiltersConfigForm/TimeGrainPreFilter.test.tsx | 203 +
.../FiltersConfigForm/getControlItemsMap.tsx | 3 +-
.../FiltersConfigForm/utils.test.ts | 27 +
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 10 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 143 +-
.../transformers/filterTransformer.ts | 3 +
.../nativeFilters/FiltersConfigModal/types.ts | 1 +
.../nativeFilters/FiltersConfigModal/utils.ts | 3 +
.../components/nativeFilters/dependencyGraph.ts | 75 +
.../components/nativeFilters/state.test.ts | 98 +-
.../dashboard/components/nativeFilters/state.ts | 8 +-
.../components/nativeFilters/utils.test.ts | 21 +-
.../dashboard/components/nativeFilters/utils.ts | 5 +
.../dashboard/containers/DashboardPage.test.tsx | 256 +
.../src/dashboard/containers/DashboardPage.tsx | 8 +-
.../dashboard/hooks/useDownloadScreenshot.test.ts | 73 +
.../src/dashboard/hooks/useDownloadScreenshot.ts | 3 +-
.../src/dashboard/reducers/dashboardInfo.test.ts | 301 +
.../src/dashboard/reducers/dashboardInfo.ts | 51 +-
.../src/dashboard/reducers/nativeFilters.test.ts | 94 +-
superset-frontend/src/dashboard/types.ts | 4 +-
.../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 | 3 +-
.../src/explore/actions/hydrateExplore.ts | 6 +-
.../components/ControlPanelsContainer.test.tsx | 122 +-
.../explore/components/ControlPanelsContainer.tsx | 34 +-
.../CopyToClipboardButton.test.tsx | 28 +
.../explore/components/DataTableControl/index.tsx | 56 +-
.../components/DataTablesPane/DataTablesPane.tsx | 1 +
.../components/DataTableControls.tsx | 68 +-
.../DataTablesPane/components/SamplesPane.tsx | 118 +-
.../components/SingleQueryResultPane.tsx | 95 +-
.../components/useGridResultTable.tsx | 123 +
.../DataTablesPane/components/useResultsPane.tsx | 39 +-
.../DataTablesPane/test/DataTablesPane.test.tsx | 61 +-
.../test/ResultsPaneOnDashboard.test.tsx | 15 +-
.../DataTablesPane/test/SamplesPane.test.tsx | 27 +-
.../components/DataTablesPane/test/fixture.tsx | 4 +
.../src/explore/components/DataTablesPane/types.ts | 23 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 8 +-
.../explore/components/ExploreChartPanel/index.tsx | 16 +-
.../useResizeDetectorByObserver.ts | 5 +-
.../ExploreViewContainer.test.tsx | 98 +-
.../components/ExploreViewContainer/index.tsx | 40 +-
.../src/explore/components/SaveModal.test.tsx | 2 +-
.../src/explore/components/SaveModal.tsx | 26 +-
.../ConditionalFormattingControl.test.tsx | 103 +
.../ConditionalFormattingControl.tsx | 5 +
.../FormattingPopoverContent.tsx | 2 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 20 +
.../index.tsx | 5 +-
.../LayerConfigsControl/GeoStylerWrapper.tsx | 1 +
.../controls/MatrixifyDimensionControl.tsx | 74 +-
.../controls/NumberControl/NumberControl.test.tsx | 15 +
.../components/controls/NumberControl/index.tsx | 6 +
.../explore/components/controls/SwitchControl.tsx | 65 +
.../components/controls/TextAreaControl.tsx | 7 +-
.../components/controls/VerticalRadioControl.tsx | 104 +
.../VizTypeControl/VizTypeControl.test.tsx | 2 +-
.../src/explore/components/controls/index.ts | 4 +
.../useExploreAdditionalActionsMenu/index.tsx | 81 +-
.../src/explore/controlPanels/sections.tsx | 86 +-
.../src/explore/exploreUtils/exportChart.test.ts | 104 +-
.../src/explore/exploreUtils/getExploreUrl.test.ts | 31 +
.../exploreUtils/getLegacyEndpointType.test.ts | 6 +
.../exploreUtils/getSimpleSQLExpression.test.ts | 12 +
.../src/explore/exploreUtils/index.ts | 35 +-
.../src/features/alerts/AlertReportModal.test.tsx | 1487 ++-
.../src/features/alerts/AlertReportModal.tsx | 14 +-
.../components/AlertReportCronScheduler.test.tsx | 125 +
.../alerts/components/NumberInput.test.tsx | 67 +
.../src/features/apiKeys/ApiKeyCreateModal.tsx | 175 +
.../src/features/apiKeys/ApiKeyList.tsx | 236 +
.../src/features/cssTemplates/CssTemplateModal.tsx | 1 +
.../AddDataset/LeftPanel/LeftPanel.test.tsx | 8 +-
superset-frontend/src/features/home/Menu.test.tsx | 8 +
superset-frontend/src/features/home/Menu.tsx | 17 +-
superset-frontend/src/features/home/SubMenu.tsx | 2 +-
.../src/features/queries/QueryPreviewModal.tsx | 13 +-
.../features/queries/SavedQueryPreviewModal.tsx | 13 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 6 +-
.../reports/ReportModal/ReportModal.test.tsx | 350 +-
.../features/reports/ReportModal/actions.test.ts | 178 +
.../src/features/reports/ReportModal/actions.ts | 6 +-
.../features/reports/ReportModal/reducer.test.ts | 214 +
.../src/features/tags/BulkTagModal.tsx | 3 +-
superset-frontend/src/features/tags/TagModal.tsx | 3 +
.../src/features/themes/ThemeModal.test.tsx | 132 +
.../src/features/themes/ThemeModal.tsx | 86 +-
.../components/Select/SelectFilterPlugin.test.tsx | 413 +-
.../components/Select/SelectFilterPlugin.tsx | 153 +-
.../filters/components/Select/buildQuery.test.ts | 94 +-
.../filters/components/Select/controlPanel.test.ts | 43 +
.../src/filters/components/Select/controlPanel.ts | 75 +-
.../filters/components/Select/transformProps.ts | 11 +-
.../src/filters/components/Select/types.ts | 9 +
.../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 +
superset-frontend/src/filters/utils.ts | 45 +-
superset-frontend/src/hooks/usePermissions.ts | 26 +-
.../src/hooks/useUnsavedChangesPrompt/index.ts | 32 +-
.../useUnsavedChangesPrompt.test.tsx | 9 +-
.../pages/AlertReportList/AlertReportList.test.tsx | 656 +-
.../src/pages/AlertReportList/index.tsx | 10 +-
superset-frontend/src/pages/Chart/Chart.test.tsx | 154 +-
superset-frontend/src/pages/Chart/index.tsx | 120 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 2 +
.../src/pages/ChartList/ChartList.testHelpers.tsx | 2 +-
.../src/pages/FileHandler/index.test.tsx | 3 +-
superset-frontend/src/pages/Login/Login.test.tsx | 46 +-
superset-frontend/src/pages/Login/index.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 | 31 +-
superset-frontend/src/setup/setupApp.ts | 8 +-
superset-frontend/src/theme/ThemeController.ts | 11 +
superset-frontend/src/theme/ThemeProvider.tsx | 3 +-
.../src/theme/tests/ThemeController.test.ts | 112 +
.../src/theme/tests/ThemeProvider.test.tsx | 33 +
.../src/theme/utils/antdTokenNames.test.ts | 28 +
.../src/theme/utils/antdTokenNames.ts | 34 +
superset-frontend/src/types/bootstrapTypes.ts | 1 +
superset-frontend/src/utils/copy.ts | 84 +-
.../src/utils/downloadAsImage.test.ts | 685 ++
superset-frontend/src/utils/downloadAsImage.tsx | 186 +-
superset-frontend/src/utils/localStorageHelpers.ts | 2 +
superset-frontend/src/utils/urlUtils.test.ts | 44 +
superset-frontend/src/utils/urlUtils.ts | 19 +-
superset-frontend/src/views/App.tsx | 8 +
superset-frontend/src/views/CRUD/hooks.ts | 2 +-
.../TimeTable/utils/sortUtils/sortUtils.test.ts | 78 +-
.../TimeTable/utils/sortUtils/sortUtils.ts | 55 +-
.../src/visualizations/presets/MainPreset.ts | 6 +-
superset-frontend/tsconfig.json | 4 +-
superset-frontend/webpack.config.js | 35 +-
superset-websocket/package-lock.json | 1004 +-
superset-websocket/package.json | 24 +-
.../utils/client-ws-app/package-lock.json | 60 +-
.../utils/client-ws-app/package.json | 2 +-
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 | 108 +-
superset/charts/data/dashboard_filter_context.py | 306 +
superset/charts/schemas.py | 45 +
superset/commands/dashboard/update.py | 118 +-
superset/commands/database/utils.py | 3 +-
superset/commands/importers/v1/assets.py | 29 +-
superset/commands/importers/v1/utils.py | 6 +-
superset/commands/report/base.py | 146 +-
superset/commands/report/create.py | 34 -
superset/commands/report/execute.py | 55 +-
superset/commands/report/update.py | 1 +
superset/commands/sql_lab/estimate.py | 3 +-
superset/commands/sql_lab/results.py | 18 +-
superset/common/query_context_factory.py | 5 +-
superset/common/query_object.py | 4 +-
superset/config.py | 41 +-
superset/connectors/sqla/models.py | 70 +-
superset/core/mcp/core_mcp_injection.py | 8 +
superset/css_templates/api.py | 4 +-
superset/daos/base.py | 16 +-
superset/daos/chart.py | 4 +-
superset/daos/dashboard.py | 59 +-
superset/daos/dataset.py | 11 +
superset/daos/report.py | 18 +-
superset/dashboards/api.py | 34 +-
superset/databases/api.py | 10 +-
superset/databases/utils.py | 1 +
superset/datasets/api.py | 22 +-
superset/datasets/schemas.py | 1 +
superset/db_engine_specs/base.py | 29 +-
superset/db_engine_specs/crate.py | 2 +-
superset/db_engine_specs/druid.py | 4 +
superset/db_engine_specs/gsheets.py | 27 -
superset/db_engine_specs/pinot.py | 4 +
superset/db_engine_specs/postgres.py | 53 +
superset/db_engine_specs/presto.py | 13 +
superset/db_engine_specs/redshift.py | 41 +-
superset/db_engine_specs/trino.py | 25 +-
superset/exceptions.py | 21 +
superset/extensions/__init__.py | 10 +
superset/jinja_context.py | 41 +-
superset/mcp_service/CLAUDE.md | 760 +-
superset/mcp_service/SECURITY.md | 9 +-
superset/mcp_service/__main__.py | 32 +
superset/mcp_service/app.py | 150 +-
superset/mcp_service/auth.py | 425 +-
superset/mcp_service/chart/ascii_charts.py | 863 ++
superset/mcp_service/chart/chart_helpers.py | 81 +
superset/mcp_service/chart/chart_utils.py | 527 +-
superset/mcp_service/chart/preview_utils.py | 43 +-
.../mcp_service/chart/resources/chart_configs.py | 6 +-
superset/mcp_service/chart/schemas.py | 1314 ++-
superset/mcp_service/chart/tool/__init__.py | 4 +
superset/mcp_service/chart/tool/generate_chart.py | 230 +-
superset/mcp_service/chart/tool/get_chart_data.py | 438 +-
superset/mcp_service/chart/tool/get_chart_info.py | 154 +-
.../mcp_service/chart/tool/get_chart_preview.py | 1113 +--
superset/mcp_service/chart/tool/get_chart_sql.py | 513 +
.../chart/tool/get_chart_type_schema.py | 174 +
superset/mcp_service/chart/tool/list_charts.py | 62 +-
superset/mcp_service/chart/tool/update_chart.py | 486 +-
.../mcp_service/chart/tool/update_chart_preview.py | 134 +-
.../chart/validation/dataset_validator.py | 115 +-
superset/mcp_service/chart/validation/pipeline.py | 107 +-
.../chart/validation/runtime/__init__.py | 4 +-
.../validation/runtime/chart_type_suggester.py | 8 +
.../chart/validation/runtime/format_validator.py | 3 +-
.../chart/validation/schema_validator.py | 204 +-
superset/mcp_service/common/cache_schemas.py | 35 +-
superset/mcp_service/common/schema_discovery.py | 192 +-
superset/mcp_service/constants.py | 9 +
superset/mcp_service/dashboard/schemas.py | 513 +-
.../tool/add_chart_to_existing_dashboard.py | 198 +-
.../dashboard/tool/generate_dashboard.py | 259 +-
.../dashboard/tool/get_dashboard_info.py | 30 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 24 +-
.../mcp_service/database}/__init__.py | 0
superset/mcp_service/database/schemas.py | 351 +
.../{dataset => database}/tool/__init__.py | 8 +-
.../mcp_service/database/tool/get_database_info.py | 151 +
.../tool/list_databases.py} | 135 +-
superset/mcp_service/dataset/schemas.py | 185 +-
superset/mcp_service/dataset/tool/__init__.py | 2 +
.../dataset/tool/create_virtual_dataset.py | 137 +
.../mcp_service/dataset/tool/get_dataset_info.py | 33 +-
superset/mcp_service/dataset/tool/list_datasets.py | 54 +-
.../explore/tool/generate_explore_link.py | 94 +-
superset/mcp_service/flask_singleton.py | 70 +-
superset/mcp_service/mcp_config.py | 92 +-
superset/mcp_service/mcp_core.py | 137 +-
superset/mcp_service/middleware.py | 240 +-
superset/mcp_service/privacy.py | 178 +
superset/mcp_service/server.py | 547 +-
superset/mcp_service/sql_lab/schemas.py | 167 +-
superset/mcp_service/sql_lab/tool/__init__.py | 2 +
superset/mcp_service/sql_lab/tool/execute_sql.py | 188 +-
.../sql_lab/tool/open_sql_lab_with_context.py | 34 +-
.../mcp_service/sql_lab/tool/save_sql_query.py | 142 +
superset/mcp_service/system/schemas.py | 103 +-
superset/mcp_service/system/system_utils.py | 4 +-
.../mcp_service/system/tool/get_instance_info.py | 150 +-
superset/mcp_service/system/tool/get_schema.py | 100 +-
superset/mcp_service/system/tool/health_check.py | 15 +-
superset/mcp_service/utils/error_builder.py | 12 +
superset/mcp_service/utils/error_sanitization.py | 109 +
superset/mcp_service/utils/oauth2_utils.py | 47 +
superset/mcp_service/utils/permissions_utils.py | 21 +-
superset/mcp_service/utils/response_utils.py | 152 +
superset/mcp_service/utils/sanitization.py | 28 +
superset/mcp_service/utils/schema_utils.py | 179 -
superset/mcp_service/utils/token_utils.py | 221 +-
superset/migrations/shared/utils.py | 27 +-
...00-00_ce6bd21901ab_migrate_deckgl_and_mapbox.py | 172 +
superset/models/helpers.py | 99 +-
superset/models/slice.py | 9 +-
superset/models/sql_lab.py | 15 +-
superset/queries/api.py | 10 +-
superset/queries/saved_queries/api.py | 6 +-
superset/reports/api.py | 12 +-
superset/reports/logs/api.py | 12 +-
superset/reports/models.py | 248 +-
superset/reports/schemas.py | 34 +-
superset/result_set.py | 43 +-
superset/row_level_security/api.py | 4 +-
superset/security/api.py | 4 +-
superset/security/manager.py | 205 +-
superset/sql/dialects/__init__.py | 3 +-
superset/sql/dialects/firebolt.py | 2 +
.../__init__.py => sql/dialects/opensearch.py} | 22 +-
superset/sql/execution/executor.py | 19 +-
superset/sql/parse.py | 19 +-
superset/sql_validators/__init__.py | 3 +-
superset/sql_validators/sqlite.py | 142 +
superset/sqllab/api.py | 68 +-
superset/sqllab/utils.py | 6 +-
superset/tags/api.py | 6 +-
superset/themes/api.py | 6 +-
superset/translations/fr/LC_MESSAGES/messages.po | 87 +-
superset/translations/it/LC_MESSAGES/messages.po | 27 +-
superset/utils/database.py | 22 +-
superset/utils/log.py | 9 +-
superset/utils/oauth2.py | 42 +-
superset/utils/rls.py | 6 +-
superset/utils/webdriver.py | 9 +-
superset/views/api.py | 4 +-
superset/views/base.py | 17 +-
superset/views/base_api.py | 12 +-
superset/views/core.py | 44 +-
superset/views/datasource/schemas.py | 2 +-
superset/views/datasource/utils.py | 7 +-
superset/views/datasource/views.py | 36 +-
superset/views/log/api.py | 4 +-
superset/views/utils.py | 1 +
superset/viz.py | 23 +
.../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 | 74 +-
tests/integration_tests/charts/data/api_tests.py | 215 +
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 +-
tests/integration_tests/databases/api_tests.py | 46 +-
tests/integration_tests/datasets/api_tests.py | 61 +-
tests/integration_tests/datasource_tests.py | 39 +-
tests/integration_tests/event_logger_tests.py | 61 +
tests/integration_tests/log_api_tests.py | 14 +-
...ce6bd21901ab_migrate_deckgl_and_mapbox__test.py | 187 +
tests/integration_tests/queries/api_tests.py | 16 +-
.../queries/saved_queries/api_tests.py | 42 +-
tests/integration_tests/reports/api_tests.py | 565 +-
.../security/guest_token_security_tests.py | 100 +-
.../security/row_level_security_tests.py | 16 +-
tests/integration_tests/security_tests.py | 27 +-
tests/integration_tests/sql_lab/api_tests.py | 39 +-
tests/integration_tests/sql_lab/commands_tests.py | 33 +-
tests/integration_tests/sqla_models_tests.py | 5 +-
tests/integration_tests/sqllab_tests.py | 6 +-
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 +
.../charts/test_dashboard_filter_context.py | 525 ++
.../databases/importers/v1/command_test.py | 40 +
tests/unit_tests/commands/databases/utils_test.py | 6 +-
.../commands/importers/v1/assets_test.py | 114 +
tests/unit_tests/commands/report/create_test.py | 222 +
tests/unit_tests/commands/report/execute_test.py | 791 +-
tests/unit_tests/commands/report/update_test.py | 73 +-
tests/unit_tests/commands/sql_lab/test_estimate.py | 145 +
tests/unit_tests/connectors/sqla/models_test.py | 31 +
tests/unit_tests/daos/test_report_dao.py | 92 +
.../dashboards/commands/importers/v1/utils_test.py | 85 +
tests/unit_tests/databases/api_test.py | 4 +-
tests/unit_tests/datasets/api_tests.py | 48 +
tests/unit_tests/datasets/schema_tests.py | 65 +-
tests/unit_tests/db_engine_specs/test_base.py | 330 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 25 +-
tests/unit_tests/db_engine_specs/test_postgres.py | 85 +-
tests/unit_tests/db_engine_specs/test_presto.py | 6 +-
tests/unit_tests/db_engine_specs/test_trino.py | 58 +
tests/unit_tests/jinja_context_test.py | 95 +
.../mcp_service/chart/test_big_number_chart.py | 524 +
.../mcp_service/chart/test_chart_helpers.py | 108 +
.../mcp_service/chart/test_chart_schemas.py | 492 +-
.../mcp_service/chart/test_chart_utils.py | 498 +-
.../mcp_service/chart/test_handlebars_chart.py | 565 ++
.../mcp_service/chart/test_new_chart_types.py | 70 +-
.../mcp_service/chart/tool/test_generate_chart.py | 163 +-
.../mcp_service/chart/tool/test_get_chart_info.py | 163 +
.../mcp_service/chart/tool/test_get_chart_sql.py | 600 ++
.../chart/tool/test_get_chart_type_schema.py | 86 +
.../mcp_service/chart/tool/test_list_charts.py | 120 +-
.../mcp_service/chart/tool/test_update_chart.py | 868 +-
.../chart/tool/test_update_chart_preview.py | 60 +-
.../validation/test_column_name_normalization.py | 60 +-
.../validation/test_pipeline_error_surface.py | 307 +
.../dashboard/test_dashboard_schemas.py | 555 ++
.../tool/test_add_chart_to_existing_dashboard.py | 297 +
.../dashboard/tool/test_dashboard_generation.py | 762 +-
.../dashboard/tool/test_dashboard_tools.py | 353 +-
.../unit_tests/mcp_service/database}/__init__.py | 0
.../mcp_service/database/tool}/__init__.py | 0
.../database/tool/test_database_tools.py | 299 +
.../mcp_service/dataset/tool/test_dataset_tools.py | 497 +-
.../explore/tool/test_generate_explore_link.py | 81 +-
.../mcp_service/sql_lab/tool/test_execute_sql.py | 491 +-
.../sql_lab/tool/test_save_sql_query.py | 456 +
.../system/tool/test_get_current_user.py | 193 +-
.../mcp_service/system/tool/test_get_schema.py | 136 +-
.../mcp_service/system/tool/test_mcp_core.py | 62 +-
tests/unit_tests/mcp_service/test_auth_api_key.py | 246 +
.../mcp_service/test_auth_user_resolution.py | 456 +
.../mcp_service/test_g_user_race_condition.py | 164 +
tests/unit_tests/mcp_service/test_mcp_config.py | 13 +
.../mcp_service/test_mcp_tool_registration.py | 25 +-
tests/unit_tests/mcp_service/test_middleware.py | 377 +
.../mcp_service/test_middleware_logging.py | 157 +
tests/unit_tests/mcp_service/test_privacy.py | 108 +
.../mcp_service/test_schema_discovery.py | 33 +-
.../mcp_service/test_tool_search_transform.py | 1198 +++
.../mcp_service/utils/test_permissions_utils.py | 73 +
.../mcp_service/utils/test_schema_utils.py | 218 -
.../mcp_service/utils/test_token_utils.py | 285 +-
tests/unit_tests/models/helpers_test.py | 416 +-
tests/unit_tests/models/slice_test.py | 38 +
.../unit_tests/models/test_no_filter_time_range.py | 307 +
.../models/test_virtual_dataset_format.py | 382 +
tests/unit_tests/reports/api_test.py | 52 +
tests/unit_tests/reports/dao_test.py | 91 +
tests/unit_tests/reports/filters_test.py | 64 +
tests/unit_tests/reports/model_test.py | 574 +-
.../reports/notifications/slack_tests.py | 54 +
tests/unit_tests/reports/schemas_test.py | 183 +-
tests/unit_tests/result_set_test.py | 59 +
tests/unit_tests/security/api_test.py | 27 +-
tests/unit_tests/security/audit_log_test.py | 251 +
tests/unit_tests/sql/dialects/opensearch_tests.py | 240 +
tests/unit_tests/sql/execution/test_executor.py | 72 +
tests/unit_tests/sql/parse_tests.py | 16 +-
tests/unit_tests/sql/test_firebolt_dialect.py | 62 +
tests/unit_tests/sql_validators/#sqlite_test.py# | 303 +
tests/unit_tests/sql_validators/sqlite_test.py | 303 +
tests/unit_tests/utils/oauth2_tests.py | 104 +
tests/unit_tests/utils/test_database.py | 53 +
tests/unit_tests/utils/webdriver_test.py | 143 +-
tests/unit_tests/views/datasource/views_test.py | 314 +
tests/unit_tests/views/test_bootstrap_auth.py | 135 +
1083 files changed, 77022 insertions(+), 21477 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/static/img/logos/hifadih.png
rename superset-extensions-cli/src/superset_extensions_cli/templates/{.gitignore.j2 => gitignore.j2} (100%)
create mode 100644 superset-extensions-cli/tests/test_cli_update.py
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/chart_list/list.test.ts
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/dataset/dataset_list.test.ts
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-chart-controls/src/shared-controls/matrixifyControls.test.ts
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/Label/reusable/DatasetTypeLabel.test.tsx
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/Label/reusable/PublishedLabel.test.tsx
copy superset-frontend/{plugins/legacy-preset-chart-deckgl/src/layers/Contour/buildQuery.ts => packages/superset-ui-core/src/components/Label/reusable/testUtils.tsx} (62%)
copy superset-frontend/{ => packages/superset-ui-core}/src/utils/copy.ts (95%)
create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/copy.test.ts
create mode 100644 superset-frontend/playwright/components/core/AgGrid.ts
create mode 100644 superset-frontend/playwright/components/core/EditableTabs.ts
copy superset-frontend/{plugins/legacy-preset-chart-deckgl/src/utils/geo.ts => playwright/components/core/Popover.ts} (50%)
copy superset-frontend/{packages/superset-ui-core/src/chart-composition/tooltip/TooltipFrame.tsx => playwright/components/modals/SaveDatasetModal.ts} (57%)
copy superset-frontend/{packages/superset-ui-core/src/chart-composition/tooltip/TooltipFrame.tsx => playwright/components/modals/SaveQueryModal.ts} (59%)
copy superset-frontend/playwright/{utils/urls.ts => helpers/api/savedQuery.ts} (53%)
create mode 100644 superset-frontend/playwright/helpers/api/theme.ts
create mode 100644 superset-frontend/playwright/pages/SqlLabPage.ts
rename superset-frontend/playwright/tests/{experimental => }/chart/chart-list.spec.ts (79%)
rename superset-frontend/playwright/tests/{experimental => }/chart/chart-test-helpers.ts (92%)
rename superset-frontend/playwright/tests/{experimental => }/dashboard/dashboard-list.spec.ts (95%)
rename superset-frontend/playwright/tests/{experimental => }/dashboard/dashboard-test-helpers.ts (93%)
rename superset-frontend/playwright/tests/{experimental => }/dashboard/export.spec.ts (94%)
create mode 100644 superset-frontend/playwright/tests/dashboard/theme.spec.ts
rename superset-frontend/playwright/tests/{experimental => }/dataset/create-dataset.spec.ts (91%)
rename superset-frontend/playwright/tests/{experimental => }/dataset/dataset-list.spec.ts (92%)
rename superset-frontend/playwright/tests/{experimental => }/dataset/dataset-test-helpers.ts (93%)
create mode 100644 superset-frontend/playwright/tests/sqllab/sqllab.spec.ts
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/CHANGELOG.md
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/README.md
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/MapBox.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/ScatterPlotGlowOverlay.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/stories/MapBox.stories.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/transformProps.ts
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/ScatterPlotGlowOverlay.test.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/tsconfig.json
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/utils/roundDecimal.test.ts
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/tsconfig.json
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/types/external.d.ts
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/CHANGELOG.md
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/README.md
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/test/utils/getPointsFromPolygon.test.ts
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/types/external.d.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/plugins/{legacy-preset-chart-deckgl/src/layers/Contour/transformProps.ts => plugin-chart-echarts/src/BigNumber/constants.tsx} (87%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/legendLayout.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Area/controlPanel.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Line/controlPanel.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/SmoothLine/controlPanel.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Step/controlPanel.test.ts
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/package.json (65%)
copy superset-frontend/plugins/{legacy-plugin-chart-map-box/src/MapBox.css => plugin-chart-point-cluster-map/src/MapLibre.css} (96%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/MapLibre.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/buildQuery.ts
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/components/CanvasOverlay.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/components/ScatterPlotOverlay.tsx
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/controlPanel.ts (72%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox-dark.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox2-dark.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox2.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/index.ts (88%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/stories/PointClusterMap.stories.tsx
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/stories/data.ts (100%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/transformProps.ts
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/utils/geo.ts (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/utils/luminanceFromRGB.ts (100%)
copy superset-frontend/plugins/{legacy-preset-chart-deckgl/src/utils/colors.ts => plugin-chart-point-cluster-map/src/utils/mapbox.ts} (62%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/utils/roundDecimal.ts (100%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/test/MapLibre.test.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/test/ScatterPlotOverlay.test.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/test/controlPanel.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/test/transformProps.test.ts
copy superset-frontend/plugins/{legacy-preset-chart-deckgl => plugin-chart-point-cluster-map}/tsconfig.json (58%)
copy superset-frontend/plugins/{legacy-plugin-chart-map-box/src/MapBox.css => plugin-chart-point-cluster-map/types/external.d.ts} (84%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/package.json (70%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/CategoricalDeckGLContainer.tsx (95%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/DeckGLContainer.tsx (64%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/Multi.test.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/Multi.tsx (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/controlPanel.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/controlPanel.ts (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/TooltipRow.tsx (100%)
copy superset-frontend/plugins/{legacy-preset-chart-deckgl/src/layers/Grid/buildQuery.ts => preset-chart-deckgl/src/components/DeckGLOverlayMapLibre.tsx} (69%)
copy superset-frontend/plugins/{legacy-preset-chart-deckgl/src/layers/Grid/buildQuery.ts => preset-chart-deckgl/src/components/DeckGLOverlayMapbox.tsx} (69%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/components/Legend.tsx (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/components/Tooltip.tsx (95%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/factory.tsx (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/Arc.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/controlPanel.ts (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/stories/Arc.stories.tsx (93%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/Contour.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/getSafeCellSize.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/getSafeCellSize.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/Geojson.test.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/Geojson.tsx (97%)
create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/layers/Geojson/buildQuery.ts
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/controlPanel.ts (98%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/index.ts (94%)
create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/layers/Geojson/transformProps.ts
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/Grid.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/controlPanel.ts (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/stories/Grid.stories.tsx (92%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/Heatmap.tsx (95%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/controlPanel.ts (98%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/Hex.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/stories/Hex.stories.tsx (92%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/Path.test.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/Path.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/stories/Path.stories.tsx (92%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/Polygon.test.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/Polygon.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/buildQuery.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/stories/Polygon.stories.tsx (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/stories/geojsonPayload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/transformProps.test.ts (72%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/transformProps.ts (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/Scatter.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/buildQuery.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/controlPanel.ts (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/stories/Scatter.stories.tsx (93%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/transformProps.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/Screengrid.tsx (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/controlPanel.ts (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/stories/Screengrid.stories.tsx (91%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/buildQueryUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/common.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/common.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/spatialUtils.test.ts (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/spatialUtils.ts (93%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/transformUtils.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/transformUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/utils/metricUtils.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/utils/metricUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/preset.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/types.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/HandlebarsRenderer.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/Shared_DeckGL.tsx (90%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/TooltipTemplateControl.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/TooltipTemplateEditor.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/controlRegistry.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/controls.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/multiValueUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/sharedDndControls.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/tooltipUtils.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/utils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils.ts (86%)
copy superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/colors.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/computeBoundsFromPoints.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/crossFiltersDataMask.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/crossFiltersDataMask.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/explore.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/fitViewport.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/geo.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/getPointsFromPolygon.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl/src/utils/colors.ts => preset-chart-deckgl/src/utils/mapbox.ts} (62%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/safeStringify.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/sandbox.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/tsconfig.json (58%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box/src/MapBox.css => preset-chart-deckgl/types/external.d.ts} (84%)
create mode 100644 superset-frontend/spec/helpers/extensionTestHelpers.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/components/CrudThemeProvider.test.tsx
copy superset-frontend/src/{SqlLab/components/StatusBar/StatusBar.test.tsx => components/PanelToolbar/PanelToolbar.test.tsx} (52%)
create mode 100644 superset-frontend/src/core/sqlLab/sqlLab.test.ts
create mode 100644 superset-frontend/src/dashboard/actions/chartCustomizationActions.test.ts
create mode 100644 superset-frontend/src/dashboard/components/SliceHeaderControls/Styles.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControl.test.tsx
rename superset-frontend/{plugins/legacy-preset-chart-deckgl/test/utils/colors.test.ts => src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControlShared.test.tsx} (54%)
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/FilterBar/FiltersDropdownContent/FiltersDropdownContent.test.tsx
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/containers/DashboardPage.test.tsx
create mode 100644 superset-frontend/src/dashboard/hooks/useDownloadScreenshot.test.ts
create mode 100644 superset-frontend/src/dashboard/reducers/dashboardInfo.test.ts
create mode 100644 superset-frontend/src/explore/components/DataTablesPane/components/useGridResultTable.tsx
mode change 100644 => 100755 superset-frontend/src/explore/components/SaveModal.tsx
create mode 100644 superset-frontend/src/explore/components/controls/ConditionalFormattingControl/ConditionalFormattingControl.test.tsx
create mode 100644 superset-frontend/src/explore/components/controls/SwitchControl.tsx
create mode 100644 superset-frontend/src/explore/components/controls/VerticalRadioControl.tsx
create mode 100644 superset-frontend/src/features/alerts/components/AlertReportCronScheduler.test.tsx
create mode 100644 superset-frontend/src/features/alerts/components/NumberInput.test.tsx
create mode 100644 superset-frontend/src/features/apiKeys/ApiKeyCreateModal.tsx
create mode 100644 superset-frontend/src/features/apiKeys/ApiKeyList.tsx
create mode 100644 superset-frontend/src/features/reports/ReportModal/actions.test.ts
create mode 100644 superset-frontend/src/features/reports/ReportModal/reducer.test.ts
create mode 100644 superset-frontend/src/filters/components/Select/controlPanel.test.ts
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
create mode 100644 superset-frontend/src/utils/downloadAsImage.test.ts
create mode 100644 superset/charts/data/dashboard_filter_context.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/chart/tool/get_chart_type_schema.py
copy {superset-core/src/superset_core/common => superset/mcp_service/database}/__init__.py (100%)
create mode 100644 superset/mcp_service/database/schemas.py
copy superset/mcp_service/{dataset => database}/tool/__init__.py (85%)
create mode 100644 superset/mcp_service/database/tool/get_database_info.py
copy superset/mcp_service/{dataset/tool/list_datasets.py => database/tool/list_databases.py} (50%)
create mode 100644 superset/mcp_service/dataset/tool/create_virtual_dataset.py
create mode 100644 superset/mcp_service/privacy.py
create mode 100644 superset/mcp_service/sql_lab/tool/save_sql_query.py
create mode 100644 superset/mcp_service/utils/error_sanitization.py
create mode 100644 superset/mcp_service/utils/oauth2_utils.py
create mode 100644 superset/mcp_service/utils/response_utils.py
create mode 100644 superset/migrations/versions/2026-03-02_00-00_ce6bd21901ab_migrate_deckgl_and_mapbox.py
copy superset/{mcp_service/sql_lab/tool/__init__.py => sql/dialects/opensearch.py} (61%)
create mode 100644 superset/sql_validators/sqlite.py
create mode 100644 tests/integration_tests/migrations/ce6bd21901ab_migrate_deckgl_and_mapbox__test.py
create mode 100644 tests/integration_tests/test_granular_export_api.py
create mode 100644 tests/unit_tests/charts/test_chart_data_api.py
create mode 100644 tests/unit_tests/charts/test_dashboard_filter_context.py
create mode 100644 tests/unit_tests/commands/report/create_test.py
create mode 100644 tests/unit_tests/commands/sql_lab/test_estimate.py
create mode 100644 tests/unit_tests/daos/test_report_dao.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_big_number_chart.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_helpers.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_handlebars_chart.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/tool/test_get_chart_type_schema.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/test_dashboard_schemas.py
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_add_chart_to_existing_dashboard.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/database}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/database/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/database/tool/test_database_tools.py
create mode 100644 tests/unit_tests/mcp_service/sql_lab/tool/test_save_sql_query.py
create mode 100644 tests/unit_tests/mcp_service/test_auth_api_key.py
create mode 100644 tests/unit_tests/mcp_service/test_auth_user_resolution.py
create mode 100644 tests/unit_tests/mcp_service/test_g_user_race_condition.py
create mode 100644 tests/unit_tests/mcp_service/test_privacy.py
copy superset/mcp_service/sql_lab/tool/__init__.py => tests/unit_tests/mcp_service/test_schema_discovery.py (50%)
create mode 100644 tests/unit_tests/mcp_service/test_tool_search_transform.py
create mode 100644 tests/unit_tests/mcp_service/utils/test_permissions_utils.py
create mode 100644 tests/unit_tests/models/test_no_filter_time_range.py
create mode 100644 tests/unit_tests/models/test_virtual_dataset_format.py
create mode 100644 tests/unit_tests/reports/api_test.py
create mode 100644 tests/unit_tests/reports/dao_test.py
create mode 100644 tests/unit_tests/reports/filters_test.py
create mode 100644 tests/unit_tests/security/audit_log_test.py
create mode 100644 tests/unit_tests/sql/dialects/opensearch_tests.py
create mode 100644 tests/unit_tests/sql/test_firebolt_dialect.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/utils/test_database.py
create mode 100644 tests/unit_tests/views/datasource/views_test.py
create mode 100644 tests/unit_tests/views/test_bootstrap_auth.py