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

(superset) branch chore/nightly-python-3.13-canary updated (d0d564e7028 -> 1e4f52a69c5)

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

rusackas pushed a change to branch chore/nightly-python-3.13-canary
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit d0d564e7028 ci(nightly-canary): reuse one tracking issue instead of filing per-run
    omit f3c2a397e35 fix: make MCP tool-description truncation dedent before cutting
    omit 08312594a2d ci: run the Python-next canary nightly instead of on every push
     add 4a51382f819 chore(deps-dev): bump oxfmt from 0.68.0 to 0.70.0 in /superset-frontend (#44785)
     add 983d00165a7 chore(deps-dev): bump jsdom from 30.1.0 to 30.1.1 in /superset-frontend (#44784)
     add f837f839708 chore(deps): bump react-window from 2.3.1 to 2.3.2 in /superset-frontend (#44782)
     add 5150266456a chore(deps-dev): bump oxlint from 1.83.0 to 1.85.0 in /docs (#44781)
     add b8e40175053 chore(deps-dev): bump the typescript-eslint group in /superset-frontend with 2 updates (#44779)
     add 4422cf38776 chore(deps-dev): bump oxfmt from 0.68.0 to 0.70.0 in /superset-websocket (#44778)
     add ce86ac9aefc chore(deps-dev): bump jsdom from 30.1.0 to 30.1.1 in /superset-embedded-sdk (#44777)
     add ef99eeac8ee chore(deps-dev): bump oxlint from 1.83.0 to 1.85.0 in /superset-frontend (#44783)
     add 72c8969ce38 chore(deps-dev): bump oxfmt from 0.68.0 to 0.70.0 in /docs (#44780)
     add 3d436f579c9 chore(deps-dev): bump oxlint from 1.83.0 to 1.85.0 in /superset-websocket (#44776)
     add e65de1fc0f0 fix(chart-data): roll back db.session after swallowed metadata-DB errors (#44653)
     add 45f4dd80092 fix: use database rollups for pivot table subtotals in Actual Values mode (#44631)
     add c51f192be6b fix(sqllab): stringify integer columns that overflow int64 (#44743)
     add 2eb620e7372 fix(databases): validate schema before listing tables (#44683)
     add 27c6f5a8d90 fix(db_engine_specs): restore shared compiler state after loading third-party dialects (#44686)
     add 732e6551e0a fix(cratedb): recognize reflected timestamp types for epoch milliseconds (#44720)
     add 03227878ba3 fix(db_engine_specs): don't fail DDL/DML when the statement has no result set (#44714)
     add 3e9bd8b45b4 fix(dynamodb): map NUMBER columns and order charts by metric expressions (#44711)
     add 2b050596c0b fix(databricks): derive omitted OAuth2 endpoints from the workspace host (#44710)
     add 041f84c6f31 fix(clickhouse): rename SELECT aliases that shadow a source column (#44715)
     add f6a7802c81d fix(database): mask secrets in create and update responses (#44733)
     add f639b22c6c8 fix(api): return 4xx from oauth2 callback errors, not 500 (#44769)
     add cba2574241e fix(i18n): clear 1,188 fuzzy translations with broken placeholders (#44611)
     add afe8b14d794 fix(database): coerce LazyString validation messages to str in validate_parameters (#44802)
     add c6e7bd47a4a fix(dashboard): catch JSONDecodeError on malformed default_filters in set_dash_metadata (#44716)
     add 9a5faa8af5b refactor(db_engine_specs): derive epoch method dispatch from EPOCH_FORMATS (#44772)
     add 63c004fe66c feat(mcp): add a permission-filtered asset catalog tool (#44694)
     add 6b2d3b15116 fix(auth): gate registration UI by auth type, not just the flag (#44368)
     add e1daa2f7e10 chore(deps-dev): bump ip-address from 10.4.0 to 10.7.2 in /superset-frontend in the security group across 1 directory (#44774)
     add 8bd268f9cef docs(versioning): screenshots, retention, and permission guidance for version history and archives (#44190)
     add 14b87366bc7 chore(deps-dev): bump brace-expansion from 5.0.9 to 5.0.12 in /superset-embedded-sdk in the security group across 1 directory (#44812)
     add 1dbb7aaace6 chore(deps): bump fast-uri from 3.1.7 to 3.1.8 in /docs in the security group across 1 directory (#44814)
     add 6d1bfaa4cd4 fix(dashboard): forward clearAllTriggers from vertical filter bar to FilterControls (#44531)
     add df450dc2a24 fix(mypy): narrow nullable uuid before RestoreVersionCommand calls (#44789)
     add 92b0cf82ca9 fix(echarts-timeseries): convert xAxisLabelInterval string '0' to number 0 (#43729)
     add 517e94d1062 fix(echarts): fix sparse sub-daily bar sizing and x-axis mislabeling (#44628)
     add 48a3b02d129 fix(mysql): require TLS when SSL is requested (#44723)
     add 773f976b6de fix(dynamodb): render time bounds as ISO 8601 so sub-day ranges match stored timestamps (#44702)
     add 005eadcacd8 fix(opensearch): page drill-to-detail samples with the OpenSearch SQL response format (#44703)
     add 542e4661837 fix(gsheets): pass the OAuth2 token and delegation subject through connect_args (#44709)
     add 16271bbfbb7 fix(databricks): stop the string-type patch writing SQLAlchemy's shared colspecs (#44707)
     add 7154f2790a9 fix(oracle): map Oracle NUMBER, BINARY_FLOAT/DOUBLE and CLOB column types (#44685)
     add 3e8cec55c4b chore(deps): bump undici from 7.29.0 to 7.30.0 in /superset-frontend in the security group across 1 directory (#44809)
     add 89759eba5d9 chore(deps): bump react-window from 2.3.2 to 2.3.3 in /superset-frontend (#44820)
     add 3e36b242a61 fix(datafusion): render temporal SQL that DataFusion accepts (#44700)
     add 8c3b985c22c fix(db2): set current_schema to the catalog name of the selected schema (#44706)
     add ba62c867258 chore(deps): bump brace-expansion from 5.0.9 to 5.0.12 in /superset-frontend/cypress-base (#44813)
     add 3f8a23622c7 perf(security): memoise the user subject lookup within a request (#44017)
     add 3f408238baa refactor(mcp): one plugin lifecycle contract and compact chart config schemas (#44746)
     add 090b4df5f8c ci: run the Python-next canary nightly instead of on every push
     add 7de0fd2f3d2 fix: make MCP tool-description truncation dedent before cutting
     add 1e4f52a69c5 ci(nightly-canary): reuse one tracking issue instead of filing per-run

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   (d0d564e7028)
            \
             N -- N -- N   refs/heads/chore/nightly-python-3.13-canary (1e4f52a69c5)

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:
 UPDATING.md                                        |  85 ++
 .../configuration/configuring-superset.mdx         |  10 +
 docs/admin_docs/configuration/mcp-server.mdx       |  23 +
 docs/developer_docs/api.mdx                        |  13 +
 docs/docs/using-superset/exploring-data.mdx        |   8 +
 docs/docs/using-superset/recently-archived.mdx     | 101 ++-
 .../docs/using-superset/using-ai-with-superset.mdx |   6 +
 docs/docs/using-superset/version-history.mdx       |  72 +-
 docs/package.json                                  |   4 +-
 .../img/version-history/recently-archived.jpg      | Bin 0 -> 23897 bytes
 .../img/version-history/version-history-panel.jpg  | Bin 0 -> 19792 bytes
 .../version-history/version-history-preview.jpg    | Bin 0 -> 64287 bytes
 docs/yarn.lock                                     | 474 +++++------
 superset-embedded-sdk/package-lock.json            |  52 +-
 superset-embedded-sdk/package.json                 |   2 +-
 superset-frontend/cypress-base/package-lock.json   |  12 +-
 superset-frontend/package-lock.json                | 696 +++++++---------
 superset-frontend/package.json                     |  10 +-
 .../components/dashboard/DashboardFilterBar.ts     |   6 +-
 .../tests/dashboard/clear-all-filters.spec.ts      | 112 +++
 .../src/MixedTimeseries/transformProps.ts          |  95 ++-
 .../src/Timeseries/transformProps.ts               | 104 ++-
 .../src/Timeseries/transformers.ts                 |   6 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |  13 +
 .../plugin-chart-echarts/src/utils/formatters.ts   |   7 +
 .../plugin-chart-echarts/src/utils/series.ts       | 107 ++-
 .../test/MixedTimeseries/transformProps.test.ts    |  26 +
 .../Bar/sparseSubDailyBarGeometry.test.ts          | 505 +++++++++++
 .../test/Timeseries/transformProps.test.ts         | 163 ++++
 .../test/utils/formatters.test.ts                  |  37 +
 .../nativeFilters/FilterBar/FilterBar.test.tsx     | 124 ++-
 .../nativeFilters/FilterBar/Vertical.tsx           |   6 +
 superset-frontend/src/pages/Login/Login.test.tsx   |  17 +
 superset-frontend/src/pages/Login/index.tsx        |   4 +-
 superset-websocket/package-lock.json               | 320 +++----
 superset-websocket/package.json                    |   4 +-
 superset/charts/client_processing.py               |   9 +-
 superset/commands/database/exceptions.py           |   5 +
 superset/commands/database/oauth2.py               |  27 +-
 superset/commands/database/tables.py               |  41 +-
 superset/commands/database/update.py               |  34 +-
 superset/common/utils/query_cache_manager.py       |   2 +
 superset/daos/base.py                              |   7 +-
 superset/daos/dashboard.py                         |   7 +-
 superset/databases/api.py                          |  14 +-
 superset/db_engine_specs/__init__.py               |  31 +-
 superset/db_engine_specs/base.py                   |  52 +-
 superset/db_engine_specs/clickhouse.py             |   4 +
 superset/db_engine_specs/crate.py                  |  35 +-
 superset/db_engine_specs/databricks.py             |  70 +-
 superset/db_engine_specs/datafusion.py             |  34 +-
 superset/db_engine_specs/db2.py                    |  12 +-
 superset/db_engine_specs/dynamodb.py               |  24 +-
 superset/db_engine_specs/elasticsearch.py          |  38 +-
 superset/db_engine_specs/gsheets.py                |  60 +-
 superset/db_engine_specs/impala.py                 |  21 +
 superset/db_engine_specs/mssql.py                  |   2 -
 superset/db_engine_specs/mysql.py                  | 150 ++++
 superset/db_engine_specs/oracle.py                 |  65 +-
 superset/db_engine_specs/postgres.py               |   6 -
 superset/db_engine_specs/snowflake.py              |   8 +-
 superset/db_engine_specs/starrocks.py              |  12 +-
 superset/exceptions.py                             |  23 +
 superset/extensions/metastore_cache.py             |  35 +-
 superset/jinja_context.py                          |  12 +-
 superset/mcp_service/app.py                        |   6 +
 superset/mcp_service/auth.py                       |  35 +-
 superset/mcp_service/caching.py                    |  28 +-
 .../mcp_service/catalog}/__init__.py               |   0
 superset/mcp_service/catalog/schemas.py            | 131 +++
 .../catalog/tool}/__init__.py                      |   6 +-
 superset/mcp_service/catalog/tool/get_catalog.py   | 443 ++++++++++
 superset/mcp_service/chart/chart_helpers.py        | 163 ++--
 superset/mcp_service/chart/chart_utils.py          | 128 ++-
 superset/mcp_service/chart/compile.py              |  19 +-
 superset/mcp_service/chart/plugin.py               | 222 ++++-
 superset/mcp_service/chart/plugins/big_number.py   |  55 +-
 superset/mcp_service/chart/plugins/bubble.py       |  27 +-
 superset/mcp_service/chart/plugins/gantt.py        |  79 +-
 superset/mcp_service/chart/plugins/gauge.py        |  63 +-
 superset/mcp_service/chart/plugins/handlebars.py   |   4 +
 superset/mcp_service/chart/plugins/histogram.py    |  98 ++-
 .../mcp_service/chart/plugins/mixed_timeseries.py  |  43 +
 superset/mcp_service/chart/plugins/table.py        |   1 +
 superset/mcp_service/chart/plugins/treemap.py      | 141 +++-
 superset/mcp_service/chart/plugins/waterfall.py    |  27 +
 superset/mcp_service/chart/preview_utils.py        | 197 ++++-
 superset/mcp_service/chart/query_result.py         |  19 +-
 superset/mcp_service/chart/registry.py             |  49 +-
 superset/mcp_service/chart/schemas.py              |  82 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |  29 +-
 .../mcp_service/chart/tool/get_chart_preview.py    | 128 ++-
 superset/mcp_service/chart/tool/update_chart.py    |  65 +-
 .../mcp_service/chart/tool/update_chart_preview.py |  48 +-
 .../chart/validation/dataset_validator.py          |   4 +-
 superset/models/core.py                            |  55 +-
 superset/models/helpers.py                         |  81 +-
 superset/result_set.py                             |   2 +
 superset/security/manager.py                       |  14 +-
 superset/subjects/utils.py                         |  40 +-
 superset/translations/ar/LC_MESSAGES/messages.po   | 332 ++++----
 superset/translations/ca/LC_MESSAGES/messages.po   | 270 +++---
 superset/translations/cs/LC_MESSAGES/messages.po   | 197 +++--
 superset/translations/fa/LC_MESSAGES/messages.po   | 334 ++++----
 superset/translations/fi/LC_MESSAGES/messages.po   | 299 +++----
 superset/translations/ko/LC_MESSAGES/messages.po   | 450 +++++-----
 superset/translations/lv/LC_MESSAGES/messages.po   | 212 +++--
 superset/translations/messages.pot                 |  16 +-
 superset/translations/mi/LC_MESSAGES/messages.po   | 274 +++---
 superset/translations/nl/LC_MESSAGES/messages.po   | 343 ++++----
 superset/translations/pl/LC_MESSAGES/messages.po   | 384 ++++-----
 .../translations/pt_BR/LC_MESSAGES/messages.po     | 328 ++++----
 superset/translations/sk/LC_MESSAGES/messages.po   | 197 +++--
 superset/translations/ta/LC_MESSAGES/messages.po   | 284 +++----
 superset/translations/th/LC_MESSAGES/messages.po   | 286 ++-----
 superset/translations/tr/LC_MESSAGES/messages.po   |  27 +-
 superset/translations/uk/LC_MESSAGES/messages.po   | 212 +++--
 superset/translations/zh/LC_MESSAGES/messages.po   |  52 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     | 289 +++----
 superset/utils/database.py                         |  76 +-
 superset/utils/rls.py                              |  13 +
 tests/integration_tests/databases/api_tests.py     | 105 ++-
 .../integration_tests/databases/commands_tests.py  |  19 +-
 tests/unit_tests/charts/test_client_processing.py  |  55 ++
 tests/unit_tests/commands/databases/oauth2_test.py |  73 +-
 tests/unit_tests/commands/databases/tables_test.py | 165 ++++
 tests/unit_tests/commands/databases/update_test.py | 114 +++
 tests/unit_tests/dao/dashboard_test.py             |  23 +
 tests/unit_tests/databases/api_test.py             | 101 ++-
 tests/unit_tests/databases/oauth2_api_test.py      |  32 +-
 tests/unit_tests/db_engine_specs/test_base.py      |  58 ++
 tests/unit_tests/db_engine_specs/test_crate.py     |  83 +-
 .../unit_tests/db_engine_specs/test_databricks.py  |  70 ++
 .../unit_tests/db_engine_specs/test_datafusion.py  |  32 +-
 tests/unit_tests/db_engine_specs/test_db2.py       |  52 +-
 tests/unit_tests/db_engine_specs/test_dynamodb.py  |  88 +-
 .../db_engine_specs/test_elasticsearch.py          | 144 +++-
 tests/unit_tests/db_engine_specs/test_gsheets.py   | 210 ++++-
 tests/unit_tests/db_engine_specs/test_impala.py    | 109 +++
 tests/unit_tests/db_engine_specs/test_init.py      | 143 ++++
 tests/unit_tests/db_engine_specs/test_mysql.py     | 307 +++++++
 tests/unit_tests/db_engine_specs/test_oracle.py    |  64 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |  47 ++
 tests/unit_tests/db_engine_specs/test_starrocks.py |  73 +-
 .../unit_tests/extensions/metastore_cache_test.py  |  93 +++
 tests/unit_tests/jinja_context_test.py             |  31 +
 .../unit_tests/mcp_service/catalog}/__init__.py    |   0
 .../mcp_service/catalog/tool}/__init__.py          |   0
 .../mcp_service/catalog/tool/test_get_catalog.py   | 921 +++++++++++++++++++++
 .../mcp_service/chart/test_chart_helpers.py        |   4 +
 .../chart/test_chart_plugin_contract.py            | 762 +++++++++++++++++
 .../chart/test_histogram_boxplot_charts.py         |  62 ++
 .../mcp_service/chart/test_preview_utils.py        |  28 +
 .../unit_tests/mcp_service/chart/test_registry.py  |  56 +-
 .../mcp_service/chart/test_registry_filters.py     |   9 +
 .../mcp_service/chart/test_treemap_completeness.py |  76 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |  38 +
 .../chart/tool/test_get_chart_preview.py           |  37 +
 .../mcp_service/chart/tool/test_update_chart.py    |  43 +-
 .../mcp_service/test_chart_tool_inventory.py       | 236 +++++-
 tests/unit_tests/mcp_service/test_mcp_caching.py   |  67 +-
 .../mcp_service/test_mcp_tool_registration.py      |   1 +
 .../unit_tests/mcp_service/test_tool_inventory.py  |  77 +-
 tests/unit_tests/models/core_test.py               | 159 ++++
 .../unit_tests/models/helpers_rls_rollback_test.py |  80 ++
 tests/unit_tests/models/helpers_test.py            |  70 +-
 .../models/select_alias_shadowing_test.py          | 184 ++++
 tests/unit_tests/result_set_test.py                |  22 +
 tests/unit_tests/security/manager_test.py          |  80 +-
 tests/unit_tests/subjects/test_utils.py            |  80 ++
 tests/unit_tests/utils/rls_test.py                 |  36 +
 tests/unit_tests/utils/test_core.py                |  67 +-
 tests/unit_tests/utils/test_database.py            | 110 ++-
 .../versioning/test_capture_gap_restore.py         |  52 +-
 .../unit_tests/versioning/test_runtime_capture.py  |   7 +-
 175 files changed, 12802 insertions(+), 4324 deletions(-)
 create mode 100644 docs/static/img/version-history/recently-archived.jpg
 create mode 100644 docs/static/img/version-history/version-history-panel.jpg
 create mode 100644 docs/static/img/version-history/version-history-preview.jpg
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Bar/sparseSubDailyBarGeometry.test.ts
 copy {scripts => superset/mcp_service/catalog}/__init__.py (100%)
 create mode 100644 superset/mcp_service/catalog/schemas.py
 copy superset/{sql/execution => mcp_service/catalog/tool}/__init__.py (91%)
 create mode 100644 superset/mcp_service/catalog/tool/get_catalog.py
 create mode 100644 tests/unit_tests/extensions/metastore_cache_test.py
 copy {scripts => tests/unit_tests/mcp_service/catalog}/__init__.py (100%)
 copy {scripts => tests/unit_tests/mcp_service/catalog/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/catalog/tool/test_get_catalog.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_plugin_contract.py
 create mode 100644 tests/unit_tests/models/helpers_rls_rollback_test.py
 create mode 100644 tests/unit_tests/models/select_alias_shadowing_test.py