This is an automated email from the ASF dual-hosted git repository.
msyavuz pushed a change to branch msyavuz/feat/matrixify-controls-revamp
in repository https://gitbox.apache.org/repos/asf/superset.git
from 1f82f7b19a9 fix: test
add 06d6b513cde chore(deps-dev): bump jest from 30.2.0 to 30.3.0 in
/superset-frontend (#38549)
add 6d1d5d64d11 chore(deps): bump antd from 6.3.1 to 6.3.2 in /docs
(#38547)
add 5f20d2e15ac chore(deps): bump react-syntax-highlighter from 16.1.0 to
16.1.1 in /superset-frontend (#38548)
add 0533ca9941e feat(mcp): register GlobalErrorHandlerMiddleware and
LoggingMiddleware (#38523)
add 2a876e8b868 fix(mcp): add missing command.validate() to MCP chart data
tools (#38521)
add 5fa70bdbd82 fix(mcp): add guardrails to prevent LLM artifact
generation (#38391)
add 6342c4f338a feat(mcp): add horizontal bar chart orientation support to
generate_chart (#38390)
add 5c2cbb58bc9 fix(mcp): add missing __init__.py for chart, dashboard,
dataset packages (#38400)
add cc8ad23d6f9 chore(deps): bump react-diff-viewer-continued from 3.4.0
to 4.2.0 in /superset-frontend (#38552)
add 13fe88000a9 chore(deps-dev): bump lightningcss from 1.31.1 to 1.32.0
in /superset-frontend (#38511)
add 0cfd760a365 fix(mcp): improve default chart names with descriptive
format (#38406)
add bde48e563ef fix: SQL Lab tab content padding (#38561)
add 31754a39c93 fix(i18n): correct variable name for translated SQL Lab
query message (#38494)
add 6d7cfac8b2d fix(mcp): wrap LoggingMiddleware.on_message event_logger
in try/except (#38560)
add eb77452857d feat(mcp): auto-generate dashboard title from chart names
when omitted (#38410)
add 3bb9704cd51 fix(mcp): honor target_tab parameter when adding charts to
tabbed dashboards (#38409)
add fe7f220c210 fix(charts): set reasonable default y-axis title margin to
prevent label overlap (#38389)
add 9215eb5e45c fix(ag-grid): persist AG Grid column filters in explore
permalinks (#38393)
add 9b8106b3820 chore(deps-dev): bump mini-css-extract-plugin from 2.10.0
to 2.10.1 in /superset-frontend (#38573)
add 59129419425 chore(deps-dev): bump @typescript-eslint/parser from
8.56.1 to 8.57.0 in /superset-websocket (#38570)
add d42e9c4d1b7 chore(deps): bump acorn from 8.9.0 to 8.16.0 in
/superset-frontend (#38466)
add 3056c415075 chore(deps): bump caniuse-lite from 1.0.30001775 to
1.0.30001777 in /docs (#38463)
add d752be5f74a chore(deps): bump dompurify from 3.3.1 to 3.3.2 in
/superset-frontend (#38455)
add ffe60bd9602 chore(deps-dev): bump oxlint from 1.51.0 to 1.53.0 in
/superset-frontend (#38571)
add 27197faba97 fix(matrixify): Matrixify to not override slice id (#38515)
add a9def2fc152 fix: support nested function calls in cache_key_wrapper
(#38569)
add 09e9c6a522e fix(embedded): prevent double RLS application in virtual
datasets (#37395)
add 7943af359c2 feat(mcp): implement RBAC permission checking for MCP
tools (#38407)
add 65e21cf13c4 docs: move MCP deployment guide to admin docs, add
user-facing AI guide (#38585)
add 7f476a79b3e fix: add embedded box sizing rule for layout (#38351)
add 95f61bd223e fix: add parent_slice_id for multilayer charts to embed
(#38243)
add d4f1f8db001 fix(mcp): extract role names as strings in UserInfo
serialization (#38612)
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 4b056069df0 Merge branch 'master' into
msyavuz/feat/matrixify-controls-revamp
No new revisions were added by this update.
Summary of changes:
.../configuration/mcp-server.mdx} | 15 +-
docs/developer_docs/sidebars.js | 1 -
.../docs/using-superset/using-ai-with-superset.mdx | 245 ++
docs/package.json | 6 +-
docs/yarn.lock | 104 +-
requirements/base.txt | 2 +-
requirements/development.txt | 2 +-
superset-core/src/superset_core/mcp/decorators.py | 22 +-
superset-extensions-cli/pyproject.toml | 2 +-
.../src/superset_extensions_cli/cli.py | 2 +-
.../templates/{.gitignore.j2 => gitignore.j2} | 0
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 2561 +++++++++-----------
superset-frontend/package.json | 18 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-core/src/editors/index.ts | 43 +
.../packages/superset-core/src/sqlLab/index.ts | 16 +
.../src/operators/utils/timeOffset.ts | 12 +-
.../test/operators/utils/timeOffset.test.ts | 92 +-
.../packages/superset-ui-core/package.json | 2 +-
.../Matrixify/MatrixifyGridGenerator.test.ts | 20 +
.../components/Matrixify/MatrixifyGridGenerator.ts | 2 +-
.../legacy-plugin-chart-world-map/src/WorldMap.ts | 14 +-
.../test/WorldMap.test.ts | 53 +
.../src/Multi/Multi.test.tsx | 137 ++
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 2 +
.../src/layers/Polygon/transformProps.test.ts | 120 +
.../src/layers/Polygon/transformProps.ts | 4 +
.../plugins/legacy-preset-chart-nvd3/package.json | 2 +-
.../src/AgGridTableChart.tsx | 3 +
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 80 +-
.../src/transformProps.ts | 38 +-
.../plugin-chart-ag-grid-table/src/types.ts | 1 +
.../test/buildQuery.test.ts | 254 ++
.../plugins/plugin-chart-cartodiagram/package.json | 8 +-
.../test/util/layerUtil.test.ts | 7 +-
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../src/Timeseries/EchartsTimeseries.test.tsx | 2 +-
.../src/Timeseries/constants.ts | 2 +-
.../src/Timeseries/transformProps.ts | 17 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 2 +-
.../test/MixedTimeseries/transformProps.test.ts | 2 +-
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../plugins/plugin-chart-pivot-table/package.json | 2 +-
.../src/SqlLab/components/ResultSet/index.tsx | 2 +-
.../src/SqlLab/components/SouthPane/index.tsx | 2 +
.../src/components/Chart/chartReducers.test.ts | 45 +-
.../src/core/editors/AceEditorProvider.tsx | 41 +-
superset-frontend/src/core/sqlLab/index.ts | 7 +
superset-frontend/src/dataMask/reducer.ts | 20 +-
superset-frontend/src/embedded/index.tsx | 12 +
.../src/explore/actions/exploreActions.ts | 13 +
.../src/explore/actions/hydrateExplore.ts | 14 +-
.../explore/components/ExploreChartPanel/index.tsx | 61 +-
.../LayerConfigsControl/GeoStylerWrapper.tsx | 1 +
.../useExploreAdditionalActionsMenu/index.tsx | 28 +-
.../src/explore/exploreUtils/exportChart.test.ts | 104 +-
.../src/explore/exploreUtils/getExploreUrl.test.ts | 31 +
.../exploreUtils/getLegacyEndpointType.test.ts | 6 +
.../src/explore/exploreUtils/index.ts | 32 +-
.../src/explore/reducers/exploreReducer.ts | 33 +-
superset-frontend/src/explore/types.ts | 5 +-
superset-frontend/src/pages/Chart/index.tsx | 16 +
superset-frontend/src/pages/Login/Login.test.tsx | 46 +-
superset-frontend/src/pages/Login/index.tsx | 4 +-
superset-frontend/src/utils/urlUtils.ts | 9 +-
superset-frontend/webpack.config.js | 2 +-
superset-websocket/package-lock.json | 332 ++-
superset-websocket/package.json | 2 +-
superset/commands/explore/get.py | 7 +-
superset/config.py | 1 +
superset/connectors/sqla/models.py | 12 +-
superset/core/mcp/core_mcp_injection.py | 24 +-
superset/daos/chart.py | 4 +-
superset/daos/dashboard.py | 59 +-
superset/daos/dataset.py | 11 +
superset/explore/permalink/schemas.py | 10 +
superset/explore/permalink/types.py | 1 +
superset/jinja_context.py | 14 +-
superset/mcp_service/app.py | 17 +-
superset/mcp_service/auth.py | 136 +-
.../mcp_service/chart}/__init__.py | 0
superset/mcp_service/chart/chart_utils.py | 177 +-
superset/mcp_service/chart/preview_utils.py | 18 +-
.../mcp_service/chart/resources/chart_configs.py | 24 +
superset/mcp_service/chart/schemas.py | 109 +-
superset/mcp_service/chart/tool/generate_chart.py | 33 +-
superset/mcp_service/chart/tool/get_chart_data.py | 313 ++-
superset/mcp_service/chart/tool/get_chart_info.py | 113 +-
.../mcp_service/chart/tool/get_chart_preview.py | 147 +-
superset/mcp_service/chart/tool/list_charts.py | 8 +-
superset/mcp_service/chart/tool/update_chart.py | 3 +-
.../mcp_service/chart/tool/update_chart_preview.py | 3 +-
superset/mcp_service/common/schema_discovery.py | 22 +-
.../mcp_service/dashboard}/__init__.py | 0
superset/mcp_service/dashboard/schemas.py | 81 +-
.../tool/add_chart_to_existing_dashboard.py | 135 +-
.../dashboard/tool/generate_dashboard.py | 62 +-
.../dashboard/tool/get_dashboard_info.py | 2 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 8 +-
.../mcp_service/dataset}/__init__.py | 0
superset/mcp_service/dataset/schemas.py | 31 +-
.../mcp_service/dataset/tool/get_dataset_info.py | 2 +-
superset/mcp_service/dataset/tool/list_datasets.py | 7 +-
.../explore/tool/generate_explore_link.py | 2 +-
superset/mcp_service/mcp_config.py | 5 +
superset/mcp_service/mcp_core.py | 7 +-
superset/mcp_service/middleware.py | 73 +-
superset/mcp_service/server.py | 22 +-
superset/mcp_service/sql_lab/schemas.py | 28 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 19 +-
.../sql_lab/tool/open_sql_lab_with_context.py | 10 +-
superset/mcp_service/system/schemas.py | 25 +-
superset/mcp_service/system/system_utils.py | 4 +-
.../mcp_service/system/tool/get_instance_info.py | 21 +-
superset/mcp_service/system/tool/health_check.py | 4 +
superset/mcp_service/utils/schema_utils.py | 20 +-
superset/models/helpers.py | 1 +
superset/security/manager.py | 58 +-
superset/translations/ar/LC_MESSAGES/messages.po | 2 +-
superset/translations/ca/LC_MESSAGES/messages.po | 2 +-
superset/translations/de/LC_MESSAGES/messages.po | 2 +-
superset/translations/es/LC_MESSAGES/messages.po | 2 +-
superset/translations/fa/LC_MESSAGES/messages.po | 2 +-
superset/translations/fr/LC_MESSAGES/messages.po | 2 +-
superset/translations/ja/LC_MESSAGES/messages.po | 2 +-
superset/translations/mi/LC_MESSAGES/messages.po | 4 +-
superset/translations/nl/LC_MESSAGES/messages.po | 2 +-
superset/translations/pl/LC_MESSAGES/messages.po | 2 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 2 +-
superset/translations/sl/LC_MESSAGES/messages.po | 2 +-
superset/translations/uk/LC_MESSAGES/messages.po | 2 +-
superset/utils/rls.py | 14 +-
superset/views/base.py | 16 +-
superset/views/core.py | 44 +-
tests/unit_tests/jinja_context_test.py | 21 +
.../mcp_service/chart/test_chart_schemas.py | 55 +
.../mcp_service/chart/test_chart_utils.py | 209 +-
.../mcp_service/chart/test_new_chart_types.py | 8 +-
.../mcp_service/chart/tool/test_get_chart_data.py | 187 ++
.../mcp_service/chart/tool/test_list_charts.py | 12 +-
tests/unit_tests/mcp_service/conftest.py | 19 +-
.../dashboard/tool/test_dashboard_generation.py | 315 ++-
.../dashboard/tool/test_dashboard_tools.py | 19 +-
.../mcp_service/dataset/tool/test_dataset_tools.py | 25 +-
.../mcp_service/sql_lab/tool/test_execute_sql.py | 35 +
.../system/test_serialize_user_object.py | 167 ++
.../system/tool/test_get_current_user.py | 3 +-
.../mcp_service/system/tool/test_get_schema.py | 47 +-
.../mcp_service/system/tool/test_mcp_core.py | 5 +-
tests/unit_tests/mcp_service/test_auth_rbac.py | 225 ++
.../mcp_service/test_mcp_tool_registration.py | 53 +
.../mcp_service/utils/test_schema_utils.py | 16 +-
.../models/test_double_rls_virtual_dataset.py | 286 +++
tests/unit_tests/security/guest_rls_test.py | 298 +++
tests/unit_tests/security/manager_test.py | 114 +
tests/unit_tests/sql_lab_test.py | 3 +
tests/unit_tests/views/test_bootstrap_auth.py | 135 ++
158 files changed, 7038 insertions(+), 2007 deletions(-)
rename docs/{developer_docs/extensions/mcp-server.md =>
admin_docs/configuration/mcp-server.mdx} (96%)
create mode 100644 docs/docs/using-superset/using-ai-with-superset.mdx
rename
superset-extensions-cli/src/superset_extensions_cli/templates/{.gitignore.j2 =>
gitignore.j2} (100%)
copy {superset-core/src/superset_core/common =>
superset/mcp_service/chart}/__init__.py (100%)
copy {superset-core/src/superset_core/common =>
superset/mcp_service/dashboard}/__init__.py (100%)
copy {superset-core/src/superset_core/common =>
superset/mcp_service/dataset}/__init__.py (100%)
create mode 100644
tests/unit_tests/mcp_service/system/test_serialize_user_object.py
create mode 100644 tests/unit_tests/mcp_service/test_auth_rbac.py
create mode 100644 tests/unit_tests/models/test_double_rls_virtual_dataset.py
create mode 100644 tests/unit_tests/security/guest_rls_test.py
create mode 100644 tests/unit_tests/views/test_bootstrap_auth.py