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

hughhhh pushed a change to branch hughhhh/pfm-3-preview-and-editor
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 57c7a6d4dd0 Merge remote-tracking branch 
'origin/hughhhh/pfm-2-query-rewrite' into hughhhh/pfm-3-preview-and-editor
     add 9f48d0eac9e fix(tests): await userEvent.click in CsrfErrorMessage 
compact-mode test (#44540)
     add 7024401aef2 fix(mcp): drop tiktoken, size-guard responses by exact 
byte length (#44508)
     add 9413294b2bd docs(pivot-table): document the "Show values as" 
percentage display option (#44127)
     add 48795f9a2d4 docs(explore): document show_download param for standalone 
chart embeds (#43906)
     add 7dd70eaf2d6 fix: tighten object-level and destination checks across 
four unrelated endpoints (#44036)
     add add97e5d190 fix(embedded): tighten guest-token scoping for 
annotations, result types, and channels (#43391)
     add ca7cdfcd0ff fix(pinot): require the SQLAlchemy 2 driver extra (#44287)
     add 0f229fda75f fix(security): exempt health blueprint from forced 
password changes (#44504)
     add 269b9f99fef fix(views): return 401 for NoAuthorizationError in 
handle_api_exception (SC-121647) (#44533)
     add 50bbcedf13b docs(mcp): document restore_chart and restore_dashboard 
tools (#44207)
     add ea1ffcf0adb fix: fixed inverseSelection (#40970)
     add 350dd0d60ec fix(security): delete deprecated permissions left over 
after upgrades (#44142)
     add 7a9fe06762b fix(mcp): stop data tool responses crashing on binary and 
NaT values (#44495)
     add 9612437a9c8 fix(extensions): preserve chat state across display modes 
(#44490)
     add 61fffbe0c08 chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/superset-frontend (#44525)
     add c14ac29f477 fix(mcp): complete Treemap round-trip and previews (#44152)
     add 3b4e5f5d0c6 chore(deps): bump markdown-to-jsx from 9.10.2 to 9.10.3 in 
/superset-frontend (#44570)
     add 7fe03a536b6 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-frontend (#44569)
     add 6403e16fe56 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in 
/superset-embedded-sdk (#44568)
     add d1f395914f1 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-embedded-sdk (#44567)
     add 6c9138a6b7c chore(deps-dev): bump baseline-browser-mapping from 
2.11.23 to 2.11.24 in /superset-frontend (#44566)
     add 4b180bddad7 chore(deps): bump baseline-browser-mapping from 2.11.23 to 
2.11.24 in /docs (#44565)
     add 4290d94d6c9 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in 
/superset-websocket (#44564)
     add 3e80a53e14f chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-websocket (#44563)
     add f8f293d2666 chore(deps): bump benchmark-action/github-action-benchmark 
from 1.22.1 to 1.22.2 (#44520)
     add 689ab4a77af fix(translations): regenerate messages.pot after the 
connection-move reword (#44574)
     add 02dbfd2ab5b fix(dashboard): don't register an active tab for childless 
TABS components (#44345)
     add 838376dbc28 fix(mongodb): treat the Mongo database as the SQL Lab 
schema so Data Preview returns rows (#44141)
     add 6323b37f50a fix(dashboard): prevent and repair self-nested layout 
components (#44303)
     add 7c7b3adf745 fix(export): keep the acting user in streaming CSV exports 
(#44425)
     add 1588d981c18 Merge remote-tracking branch 'origin/master' into 
hughhhh/pfm-3-preview-and-editor

No new revisions were added by this update.

Summary of changes:
 .github/workflows/frontend-bundle-size-nightly.yml |    2 +-
 .github/workflows/superset-frontend.yml            |    2 +-
 UPDATING.md                                        |   49 +-
 .../configuration/configuring-superset.mdx         |    7 +
 docs/admin_docs/configuration/mcp-server.mdx       |   90 +-
 .../extensions/extension-points/chat.md            |    4 +
 docs/docs/using-superset/embedding.mdx             |   21 +
 docs/docs/using-superset/exploring-data.mdx        |   14 +
 .../docs/using-superset/using-ai-with-superset.mdx |    2 +
 docs/package.json                                  |    2 +-
 docs/src/data/databases.json                       |    1 +
 docs/yarn.lock                                     |    8 +-
 pyproject.toml                                     |    6 +-
 requirements/development.txt                       |    5 -
 superset-embedded-sdk/package-lock.json            |  204 +--
 superset-embedded-sdk/package.json                 |    4 +-
 superset-frontend/package-lock.json                |  186 +--
 superset-frontend/package.json                     |    8 +-
 .../packages/superset-ui-core/package.json         |    2 +-
 .../ErrorMessage/CsrfErrorMessage.test.tsx         |    4 +-
 superset-frontend/src/core/chat/ChatHost.tsx       |   20 +-
 .../src/dashboard/actions/hydrate.test.ts          |   85 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |   28 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |   95 ++
 .../components/gridComponents/Tabs/Tabs.tsx        |   22 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |    2 +-
 .../src/dashboard/reducers/dashboardLayout.test.ts |   62 +
 .../src/dashboard/reducers/dashboardLayout.ts      |   26 +
 .../src/dashboard/reducers/dashboardState.test.ts  |   23 +
 .../src/dashboard/util/getDropPosition.test.ts     |   83 ++
 .../src/dashboard/util/getDropPosition.ts          |   13 +
 .../util/removeUnreachableComponents.test.ts       |  283 ++++
 .../dashboard/util/removeUnreachableComponents.ts  |  225 ++++
 .../util/updateComponentParentsList.test.ts        |   17 +
 .../dashboard/util/updateComponentParentsList.ts   |    7 +-
 .../components/Select/SelectFilterPlugin.tsx       |   22 +-
 superset-frontend/src/views/App.test.tsx           |  125 ++
 superset-frontend/src/views/App.tsx                |   28 +-
 superset-websocket/package-lock.json               |  204 +--
 superset-websocket/package.json                    |    4 +-
 superset/commands/dashboard/update.py              |    7 +-
 superset/commands/database/exceptions.py           |    9 +-
 superset/commands/database/update.py               |   20 +-
 superset/commands/database/utils.py                |   47 +
 superset/commands/semantic_layer/update.py         |   55 +-
 superset/commands/streaming_export/base.py         |   41 +-
 superset/config.py                                 |    9 +
 superset/daos/dashboard.py                         |    5 +
 superset/dashboards/layout.py                      |  269 ++++
 superset/db_engine_specs/base.py                   |   82 +-
 superset/db_engine_specs/gsheets.py                |    1 +
 superset/db_engine_specs/mongodb.py                |   63 +-
 superset/db_engine_specs/pinot.py                  |    4 +
 superset/db_engine_specs/snowflake.py              |    1 +
 superset/embedded/view.py                          |    8 +-
 superset/mcp_service/SECURITY.md                   |    2 +-
 superset/mcp_service/__main__.py                   |    4 +-
 superset/mcp_service/chart/chart_helpers.py        |   35 +
 superset/mcp_service/chart/chart_utils.py          |  124 ++
 superset/mcp_service/chart/compile.py              |   21 +-
 superset/mcp_service/chart/plugins/treemap.py      |   10 +-
 superset/mcp_service/chart/preview_utils.py        |   14 +-
 superset/mcp_service/chart/query_result.py         |  113 +-
 superset/mcp_service/chart/schemas.py              |  390 +++---
 superset/mcp_service/chart/tool/get_chart_data.py  |   40 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   30 +-
 .../chart/tool/get_chart_type_schema.py            |   21 +-
 superset/mcp_service/chart/tool/update_chart.py    |   30 +-
 .../mcp_service/chart/tool/update_chart_preview.py |   51 +-
 superset/mcp_service/chart/treemap_preview.py      |  297 +++++
 superset/mcp_service/constants.py                  |    2 +-
 superset/mcp_service/dashboard/schemas.py          |   15 +-
 .../dashboard/tool/generate_dashboard.py           |    3 +-
 superset/mcp_service/dataset/schemas.py            |   13 +-
 .../explore/tool/generate_explore_link.py          |    3 +-
 superset/mcp_service/mcp_config.py                 |   23 +-
 superset/mcp_service/middleware.py                 |  208 ++-
 superset/mcp_service/semantic_layer/schemas.py     |   29 +-
 superset/mcp_service/sql_lab/schemas.py            |   18 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |   19 -
 .../{token_utils.py => response_size_utils.py}     |  319 ++---
 superset/mcp_service/utils/response_utils.py       |    8 +-
 superset/mcp_service/utils/serialization.py        |  225 ++++
 superset/migrations/shared/security_converge.py    |   34 +
 ...4fb8bfc1_delete_deprecated_permissions_33272.py |  153 +++
 ...a4572f8a_rename_deprecated_permissions_33272.py |  193 +++
 ...e6_merge_deprecated_permissions_with_master.py} |   12 +-
 ...merge_deprecated_permissions_with_master_v2.py} |   12 +-
 ...merge_deprecated_permissions_with_master_v3.py} |   12 +-
 superset/security/api.py                           |   13 +-
 superset/security/manager.py                       |  397 +++++-
 superset/security/password_change.py               |   11 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/messages.pot                 |   25 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   25 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   25 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |   25 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/th/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   25 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   25 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   25 +-
 superset/utils/network.py                          |  115 ++
 superset/views/error_handling.py                   |    6 +-
 superset/views/utils.py                            |   12 +
 tests/integration_tests/embedded/test_view.py      |   23 +
 tests/integration_tests/security/api_tests.py      |   28 +
 .../chart/streaming_export_command_test.py         |   61 +
 tests/unit_tests/commands/dashboard/update_test.py |   46 +
 tests/unit_tests/commands/databases/utils_test.py  |   58 +
 .../commands/semantic_layer/update_test.py         |   96 ++
 tests/unit_tests/dao/dashboard_test.py             |  139 ++
 tests/unit_tests/dashboards/layout_test.py         |  325 +++++
 tests/unit_tests/db_engine_specs/test_base.py      |  243 +++-
 .../unit_tests/db_engine_specs/test_databricks.py  |   28 +-
 .../db_engine_specs/test_databricks_multi_cloud.py |    4 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   27 +-
 tests/unit_tests/db_engine_specs/test_mongodb.py   |  205 ++-
 tests/unit_tests/db_engine_specs/test_pinot.py     |   41 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |    7 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    7 +-
 .../mcp_service/chart/test_treemap_completeness.py | 1373 ++++++++++++++++++++
 .../mcp_service/chart/tool/test_get_chart_data.py  |  180 ++-
 .../chart/tool/test_get_chart_type_schema.py       |   26 +
 .../dashboard/tool/test_dashboard_generation.py    |   63 +
 .../explore/tool/test_generate_explore_link.py     |   49 +
 .../semantic_layer/tool/test_list_metrics.py       |   62 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |  104 +-
 .../mcp_service/test_mcp_tool_registration.py      |    2 +-
 tests/unit_tests/mcp_service/test_middleware.py    |  227 ++--
 .../mcp_service/test_response_serialization.py     |  321 +++++
 ..._token_utils.py => test_response_size_utils.py} |  265 ++--
 .../mcp_service/utils/test_serialization.py        |  294 +++++
 .../migrations/shared/security_converge_test.py    |  218 ++++
 .../test_deprecated_permissions_33272.py           |  420 ++++++
 tests/unit_tests/security/manager_test.py          |  431 +++++-
 tests/unit_tests/security/test_password_change.py  |   68 +-
 tests/unit_tests/utils/test_network.py             |   81 +-
 tests/unit_tests/views/test_error_handling.py      |   22 +
 tests/unit_tests/views/test_utils.py               |   69 +-
 161 files changed, 10491 insertions(+), 1550 deletions(-)
 create mode 100644 
superset-frontend/src/dashboard/util/removeUnreachableComponents.test.ts
 create mode 100644 
superset-frontend/src/dashboard/util/removeUnreachableComponents.ts
 create mode 100644 superset-frontend/src/views/App.test.tsx
 create mode 100644 superset/dashboards/layout.py
 create mode 100644 superset/mcp_service/chart/treemap_preview.py
 rename superset/mcp_service/utils/{token_utils.py => response_size_utils.py} 
(81%)
 create mode 100644 superset/mcp_service/utils/serialization.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-00_1f5f4fb8bfc1_delete_deprecated_permissions_33272.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-01_3ce9a4572f8a_rename_deprecated_permissions_33272.py
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-16_00-01_2ce579e91ae6_merge_deprecated_permissions_with_master.py} (79%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-17_00-00_53a7abc31422_merge_deprecated_permissions_with_master_v2.py} 
(76%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-23_00-00_95d8a99c822e_merge_deprecated_permissions_with_master_v3.py} 
(76%)
 create mode 100644 tests/unit_tests/dashboards/layout_test.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_treemap_completeness.py
 create mode 100644 tests/unit_tests/mcp_service/test_response_serialization.py
 rename tests/unit_tests/mcp_service/utils/{test_token_utils.py => 
test_response_size_utils.py} (87%)
 create mode 100644 tests/unit_tests/mcp_service/utils/test_serialization.py
 create mode 100644 tests/unit_tests/migrations/shared/security_converge_test.py
 create mode 100644 
tests/unit_tests/migrations/test_deprecated_permissions_33272.py

Reply via email to