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 1588d981c18 Merge remote-tracking branch 'origin/master' into 
hughhhh/pfm-3-preview-and-editor
     add c0c688d3e4b fix(mcp): return a specific error per failure class on 
tool calls (#44387)
     add a071d23b41f fix(dashboard): guest sessions, pluggable storage, and 
streamed downloads for the Excel export (#43805)
     add d7a918b814c fix(ci): make check_pot_drift extract from an isolated git 
snapshot (#44578)
     add 775f7c5a1fd fix(db2): Use DATE_TRUNC to improve timegrain expressions 
(#43236)
     add 298aa2f0ba4 fix(dataset): bump changed_on on column refresh so chart 
cache invalidates (#43921)
     add 082961ba168 fix(chart): require edit rights for query-context-only 
updates (#44494)
     add 3b355b6a854 fix(chart): allow semantic view datasource when saving 
charts (#44169)
     add 390bf299ff9 fix(i18n): stop f-strings in gettext leaking a bogus msgid 
on Python 3.12 (#44584)
     add 8141d666d6d fix(dashboard): show loading spinner for charts outside an 
in-flight auto-refresh batch (#44272)
     add cd36b555e9b Merge remote-tracking branch 'origin/master' into 
hughhhh/pfm-1-model-migration-api
     add da9f21c1314 Merge branch 'hughhhh/pfm-1-model-migration-api' into 
hughhhh/pfm-2-query-rewrite
     add 6ca51264e57 Merge branch 'hughhhh/pfm-2-query-rewrite' into 
hughhhh/pfm-3-preview-and-editor

No new revisions were added by this update.

Summary of changes:
 UPDATING.md                                        |  58 +-
 docs/admin_docs/configuration/mcp-server.mdx       |  16 +
 .../using-superset/exporting-dashboard-data.mdx    | 116 +++-
 docs/static/resources/openapi.json                 |  78 ++-
 pyproject.toml                                     |  17 +-
 scripts/translations/check_pot_drift.py            |  77 ++-
 .../Header/useHeaderAutoRefresh.test.tsx           |  58 +-
 .../components/Header/useHeaderAutoRefresh.ts      |   2 +-
 .../components/gridComponents/Chart/Chart.test.tsx |  59 ++
 .../components/gridComponents/Chart/Chart.tsx      |   4 +-
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   | 616 +++++++++++++++++--
 .../components/menu/DownloadMenuItems/index.tsx    | 210 ++++++-
 .../dashboard/contexts/AutoRefreshContext.test.tsx |  69 +++
 .../src/dashboard/contexts/AutoRefreshContext.tsx  |  31 +-
 .../explore/components/ExploreChartPanel/index.tsx |  12 +-
 superset/commands/chart/update.py                  |  11 +-
 superset/commands/distributed_lock/acquire.py      |   9 +-
 superset/common/query_context_processor.py         |  18 +-
 superset/config.py                                 |  59 +-
 superset/connectors/sqla/models.py                 |  53 +-
 superset/dashboards/api.py                         | 264 +++++++-
 superset/dashboards/excel_export/download_link.py  | 160 +++++
 superset/dashboards/excel_export/email.py          |  29 +-
 superset/db_engine_specs/db2.py                    |  27 +-
 superset/db_engine_specs/ibmi.py                   |  21 +
 superset/key_value/types.py                        |   1 +
 superset/mcp_service/chart/compile.py              |  29 +-
 superset/mcp_service/constants.py                  |  28 +
 superset/mcp_service/middleware.py                 | 287 ++++++++-
 ...1_a7f3c2e91d84_add_partition_filter_mapping.py} |   4 +-
 superset/models/dashboard.py                       |   3 +
 superset/security/manager.py                       |  38 +-
 superset/tasks/export_dashboard_excel.py           | 272 ++++++--
 superset/translations/ar/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/de/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/en/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/it/LC_MESSAGES/messages.po   |  31 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/messages.pot                 |  29 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |  29 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  29 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |  29 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/th/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |  29 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |  31 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  29 +-
 superset/utils/export_storage.py                   |  76 +++
 superset/utils/gcs.py                              | 101 +++
 superset/utils/s3.py                               | 124 ++--
 tests/integration_tests/charts/api_tests.py        | 109 ++++
 tests/integration_tests/charts/commands_tests.py   | 133 +++-
 tests/integration_tests/dashboards/api_tests.py    | 435 ++++++++++++-
 tests/integration_tests/datasets/api_tests.py      |  15 +-
 tests/integration_tests/reports/commands_tests.py  |  65 +-
 tests/integration_tests/security_tests.py          |   8 +
 tests/unit_tests/charts/test_filters.py            |  96 +++
 tests/unit_tests/commands/chart/create_test.py     |  33 +-
 tests/unit_tests/commands/chart/update_test.py     |  66 +-
 .../common/test_query_context_processor.py         |  35 ++
 tests/unit_tests/connectors/sqla/models_test.py    | 234 +++++++
 tests/unit_tests/dao/test_query_stop_race.py       |  68 +-
 tests/unit_tests/dashboards/api_test.py            | 116 ++++
 .../dashboards/test_excel_export_download_link.py  |  65 ++
 tests/unit_tests/db_engine_specs/test_db2.py       |  35 +-
 tests/unit_tests/db_engine_specs/test_ibmi.py      |  76 +++
 .../distributed_lock/distributed_lock_tests.py     |  22 +
 .../mcp_service/test_error_classification.py       | 679 ++++++++++++++++++++
 tests/unit_tests/models/dashboard_test.py          |  41 +-
 tests/unit_tests/semantic_layers/models_test.py    | 225 +++++++
 tests/unit_tests/subjects/test_raise_for_access.py | 122 ++++
 .../tasks/test_export_dashboard_excel.py           | 681 ++++++++++++++++++++-
 tests/unit_tests/utils/gcs_tests.py                | 120 ++++
 tests/unit_tests/utils/s3_tests.py                 | 102 ++-
 91 files changed, 6978 insertions(+), 543 deletions(-)
 create mode 100644 superset/dashboards/excel_export/download_link.py
 rename 
superset/migrations/versions/{2026-09-19_00-00_a7f3c2e91d84_add_partition_filter_mapping.py
 => 2026-09-23_00-01_a7f3c2e91d84_add_partition_filter_mapping.py} (98%)
 create mode 100644 superset/utils/export_storage.py
 create mode 100644 superset/utils/gcs.py
 create mode 100644 
tests/unit_tests/dashboards/test_excel_export_download_link.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_ibmi.py
 create mode 100644 tests/unit_tests/mcp_service/test_error_classification.py
 create mode 100644 tests/unit_tests/utils/gcs_tests.py

Reply via email to