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

hughhhh pushed a change to branch hughhhh/pfm-6-explore-indicator
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 846ad1a2f9c i18n: extract the new value transform validation string
    omit aa050a6f1b7 fix(datasets): stop the save when the value transform 
cannot be saved
    omit f241ae186ff fix(datasets): stop the value transform input dropping 
keystrokes
    omit 650ac753da5 test(explore): make the time range regression tests 
type-check
    omit a00fbc1e7d0 test(explore): pin every chart that carries a standalone 
time range
    omit db80193f285 fix(datasets): do not carry a value transform to a new 
datetime column
    omit ff33618260e fix(explore): a control can never be its own validation 
dependant
    omit 2dfaa278c90 fix(explore): stop the time range control clobbering its 
own value
    omit bf86c7c51fc fix(datasets): stop a stale partition transform surviving 
an API write
    omit be4841a862f fix(explore): stop a removed or re-pointed mapping 
resurrecting a stale transform
    omit 84d79ee56d5 fix(explore): keep exactly one column holding a partition 
mapping
    omit a7f313dcc98 style(explore): re-attach the partition column defaults 
docstring
    omit 840167dc4dc chore(translations): extract the partition pruning 
indicator string
    omit edf06c45f74 fix(explore): keep the time range pruning glyph in sync 
with field updates
    omit 31589e77005 style(explore): apply oxfmt to the partition mapping 
helpers
    omit d1f89c86b16 fix(explore): only show the pruning glyph on filters that 
actually mirror
    omit e5847e852a9 feat(explore): indicate when a filter is mirrored onto a 
partition column
    omit 1f9f706d2b3 style: let ruff format the preview sample-input return
    omit fffd0ecfbe5 fix(datasets): correct the NULL-partition docs and stop 
hopeless previews
    omit 8ff932243d3 chore(translations): regenerate messages.pot for the 
partition mapping editor
    omit 3a13b19d499 fix: satisfy the frontend hooks on the partition mapping 
editor
    omit b27e1a6c41c fix(datasets): drop an unused import from the dataset 
schemas
    omit 472fa7fa653 docs: correct where the partition mapping controls live
    omit b0f3611d2b9 fix(datasets): wrap long text in the partition mapping row 
expand
    omit ce171e543d2 feat(datasets): add the partition filter mapping editor UI
    omit c2388ed9e53 docs: document partition filter mapping
    omit 45ab3ff2776 chore(datasets): add the preview strings to the message 
catalogs
    omit c4751f1f4d7 docs: regenerate the OpenAPI spec for the preview schema 
bounds
    omit 95338cfd6d0 fix(datasets): make the preview throttle atomic, bounded 
and fixed-window
    omit ff18e2da0fa feat(datasets): add partition mapping preview endpoint and 
editor plumbing
    omit 3c07046426c feat(datasets): mirror grain-bearing ranges by widening 
both bounds
    omit 08a82d5607b fix(datasets): key the transform probe on the connection
    omit 91acf714bfe fix(datasets): keep mirrored predicates no narrower than 
the filter
    omit b9cd364156d feat(datasets): mirror filters onto the partition column 
at query time
    omit c10ad3e7bfc fix(datasets): gate partition mapping validation on the 
feature flag
    omit 0ec0e5a5eec fix(datasets): make the Explore mapping indicator agree 
with save-time validation
    omit 0e35b6abdd7 chore(datasets): regenerate the message catalogs and the 
OpenAPI spec
    omit 3a997c9e7d8 fix(datasets): don't let a partition mapping be clobbered, 
blocked or orphaned
    omit f7b93a2d9ae test(sql): drop a leftover merge-resolution note from 
parse_tests
    omit 432f83633ba fix(datasets): rebase the partition mapping migration onto 
master's head
    omit 6bb62752ee7 docs(datasets): scope the PARTITION_FILTER_MAPPING flag 
description
    omit 32a8f4abfe1 feat(datasets): add partition filter mapping model, 
migration and validation
     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 5668faf18e6 fix(doris): quarter grain, SSL toggle, parameters URI, 
error mapping and column types (#44718)
     add 929c44097f8 chore(deps): bump the security group across 1 directory 
with 2 updates (#44824)
     add e93f8ce638c test(semantic-views): wait for views refetches to settle 
before selecting a view (#44792)
     add 21d46d52dfd chore(build): remove unused dependencies in `docs` and 
`superset-frontend` (#44697)
     add af794f8c93a chore(deps): bump the security group across 1 directory 
with 2 updates (#44831)
     add 8a7be3b327b fix: avoid provider calls when rendering datasource access 
denials (#44432)
     add 3b06cadca4c fix(csv-import): add primary key when MySQL requires one 
(#44411)
     add 88efac09c67 fix(mcp): align histogram and waterfall query contracts 
(#44744)
     add 65a6012843b ci(python): run the Python-next canary nightly, bump to 
3.13 (#44767)
     add e90b9fb751e chore(deps): bump dompurify from 3.4.15 to 3.4.16 in 
/superset-frontend in the security group across 1 directory (#44830)
     add 51378f529d8 fix(matrixify): fan metrics-axis selection into 
multi-query fields (#44629)
     add 883e43ee2da fix(sqllab): ignore non-object template_params in 
format_sql instead of 500 (#44826)
     add bbf0fa5f42f fix(core): stop discarding API errors that quote an HTML 
tag (#42489)
     add d80fcfc02a2 fix(i18n): make babel_update.sh .pot normalization 
actually run (#44395)
     add f02f53df234 fix(sql): reject client-side file-transfer statements in 
query execution (#44496)
     add fd524f4b217 fix(sqllab): preserve exact decimals in results and 
exports (#44739)
     add d2101c8dba2 fix(exasol): classify common server errors (#44721)
     add dc0e306a24c fix(elasticsearch): classify byte, short, half_float, 
scaled_float and unsigned_long columns (#44713)
     add 8baa9c1f2e3 fix(db2): accept sqlglot's parse_mod in the DB2 term 
parser (#44708)
     add 5cf8213354c fix(databricks): keep the user's OAuth2 token and extra 
connect_args; re-auth on HTTP 401 (#44705)
     add 855bb4e21c8 fix(gsheets): align service-account validation and 
serialize upload dates (#44695)
     add bbf00956d46 fix(mcp): prioritize exact tool names in BM25 search 
(#44682)
     add 90fc4735835 test(embedded-sdk): cross-document test rig for the 
navigation fix (#44608)
     add e91ce19a606 fix(auth): drain flash messages on the login page (#44605)
     add 924343e3ee6 fix(gantt): prevent y-axis category labels from being 
clipped (#44321)
     add d2fb52ac83e fix(auth): remove the legacy FAB password reset views and 
move password resets into the SPA (#44626)
     add 4cdd680f399 fix: increase dataset edit modal size (#38215) (#39257)
     add 4911dbe00b0 fix(doris): offer the connection form by matching the 
installed driver (#44736)
     add 3109cfaf6d6 chore(deps): bump @googleapis/sheets from 18.0.0 to 18.0.1 
in /superset-frontend (#44862)
     add 4f9c22db6dc chore(deps): bump github/codeql-action/analyze from 4.38.1 
to 4.38.2 (#44861)
     add 6418473be14 chore(deps): bump github/codeql-action/upload-sarif from 
4.38.1 to 4.38.2 (#44859)
     add a6fd901d57e feat(datasets): add partition filter mapping model, 
migration and validation
     add 2f4c14bf23d docs(datasets): scope the PARTITION_FILTER_MAPPING flag 
description
     add 51a1483ef6c fix(datasets): rebase the partition mapping migration onto 
master's head
     add d61bff53f90 test(sql): drop a leftover merge-resolution note from 
parse_tests
     add 3fb09a3e083 fix(datasets): don't let a partition mapping be clobbered, 
blocked or orphaned
     add b54daf52dc5 chore(datasets): regenerate the message catalogs and the 
OpenAPI spec
     add 17a5f683121 fix(datasets): make the Explore mapping indicator agree 
with save-time validation
     add f0febd8ab5b fix(datasets): gate partition mapping validation on the 
feature flag
     add ae33f9f1106 test(mobile): pin the mobile dashboard tests to the 
world_health sample
     add 2f6aaf142d2 feat(datasets): mirror filters onto the partition column 
at query time
     add 1987cb8cfd6 fix(datasets): keep mirrored predicates no narrower than 
the filter
     add f4124ac86c3 fix(datasets): key the transform probe on the connection
     add 3d028a015a3 feat(datasets): mirror grain-bearing ranges by widening 
both bounds
     add e1c750fc7a9 feat(datasets): add partition mapping preview endpoint and 
editor plumbing
     add d9125ebe190 fix(datasets): make the preview throttle atomic, bounded 
and fixed-window
     add 2c664ba8cc0 docs: regenerate the OpenAPI spec for the preview schema 
bounds
     add 7ee7f03aef8 chore(datasets): add the preview strings to the message 
catalogs
     add 8eb46d930a6 docs: document partition filter mapping
     add d54b81256da feat(datasets): add the partition filter mapping editor UI
     add 1ec461fcccb fix(datasets): wrap long text in the partition mapping row 
expand
     add fff6aecdb7c docs: correct where the partition mapping controls live
     add b4b1c05cc2e fix(datasets): drop an unused import from the dataset 
schemas
     add 98dcd5e19a8 fix: satisfy the frontend hooks on the partition mapping 
editor
     add 97493b2573f chore(translations): regenerate messages.pot for the 
partition mapping editor
     add 06a6239d4c8 fix(datasets): correct the NULL-partition docs and stop 
hopeless previews
     add 2c52c5fc286 style: let ruff format the preview sample-input return
     add f06a9ad100d feat(explore): indicate when a filter is mirrored onto a 
partition column
     add bdfaeb9299d fix(explore): only show the pruning glyph on filters that 
actually mirror
     add 1270cda6df6 style(explore): apply oxfmt to the partition mapping 
helpers
     add 46e4cd7c54e fix(explore): keep the time range pruning glyph in sync 
with field updates
     add 3e98de012b1 chore(translations): extract the partition pruning 
indicator string
     add 219d1060535 style(explore): re-attach the partition column defaults 
docstring
     add 4f58ef24b2c fix(explore): keep exactly one column holding a partition 
mapping
     add d57db4cb383 fix(explore): stop a removed or re-pointed mapping 
resurrecting a stale transform
     add cbe881fcc83 fix(datasets): stop a stale partition transform surviving 
an API write
     add e21eac27283 fix(explore): stop the time range control clobbering its 
own value
     add 72768639b1c fix(explore): a control can never be its own validation 
dependant
     add 739c5e02209 fix(datasets): do not carry a value transform to a new 
datetime column
     add e6a79ea05b7 test(explore): pin every chart that carries a standalone 
time range
     add b7a1225280d test(explore): make the time range regression tests 
type-check
     add db0a80d42ed fix(datasets): stop the value transform input dropping 
keystrokes
     add 8b837659882 fix(datasets): stop the save when the value transform 
cannot be saved
     add e4ec66c440c i18n: extract the new value transform validation string

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   (846ad1a2f9c)
            \
             N -- N -- N   refs/heads/hughhhh/pfm-6-explore-indicator 
(e4ec66c440c)

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/actions/setup-backend/action.yml           |    5 +-
 .github/workflows/codeql-analysis.yml              |    2 +-
 .github/workflows/docker.yml                       |    2 +-
 .github/workflows/python-nightly-canary.yml        |   94 +
 .github/workflows/superset-python-unittest.yml     |    7 +-
 RESOURCES/STANDARD_ROLES.md                        |    6 -
 UPDATING.md                                        |  162 ++
 .../configuration/configuring-superset.mdx         |   12 +-
 docs/admin_docs/configuration/google-sheets.mdx    |   49 +
 docs/admin_docs/configuration/mcp-server.mdx       |   31 +
 docs/developer_docs/api.mdx                        |   13 +
 docs/docs/using-superset/exploring-data.mdx        |    8 +
 docs/docs/using-superset/number-formatting.mdx     |   16 +
 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/docusaurus.config.ts                          |    1 -
 docs/package.json                                  |   10 +-
 docs/src/data/databases.json                       |    1 +
 .../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/static/resources/openapi.json                 |    4 +-
 .../databases/supported/apache-doris.mdx           |    8 +
 .../version-6.1.0/databases/supported/mysql.mdx    |   18 +
 docs/yarn.lock                                     |   33 +-
 requirements/development.in                        |   11 +
 requirements/development.txt                       |    7 +-
 scripts/translations/babel_update.sh               |   15 +-
 superset-embedded-sdk/package-lock.json            |    6 +-
 superset-embedded-sdk/testrig/README.md            |   89 +
 superset-embedded-sdk/testrig/drive.mjs            |  655 +++++
 superset-embedded-sdk/testrig/embedded.html        |  127 +
 superset-embedded-sdk/testrig/host.html            |  239 ++
 superset-embedded-sdk/testrig/server.mjs           |  199 ++
 superset-frontend/cypress-base/package-lock.json   |   12 +-
 superset-frontend/package-lock.json                |  242 +-
 superset-frontend/package.json                     |   12 +-
 .../packages/superset-core/package.json            |    2 -
 .../packages/superset-ui-core/package.json         |    4 +-
 .../Matrixify/MatrixifyGridGenerator.test.ts       |   63 +
 .../components/Matrixify/MatrixifyGridGenerator.ts |   34 +-
 .../src/query/getClientErrorObject.ts              |   29 +-
 .../test/query/getClientErrorObject.test.ts        |   66 +
 .../components/dashboard/DashboardFilterBar.ts     |    6 +-
 .../tests/dashboard/clear-all-filters.spec.ts      |  112 +
 .../tests/mobile/mobile-dashboard.spec.ts          |   76 +-
 .../plugin-chart-echarts/src/Gantt/constants.ts    |    3 +
 .../src/Gantt/transformProps.ts                    |   35 +-
 .../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       |  172 +-
 .../test/Gantt/transformProps.test.ts              |  213 +-
 .../test/MixedTimeseries/transformProps.test.ts    |   26 +
 .../Bar/sparseSubDailyBarGeometry.test.ts          |  505 ++++
 .../test/Timeseries/transformProps.test.ts         |  163 ++
 .../test/utils/formatters.test.ts                  |   37 +
 .../plugin-chart-echarts/test/utils/series.test.ts |   70 +
 .../Datasource/DatasourceModal/index.tsx           |   19 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |  115 +-
 .../FilterableTable/exactDecimals.test.tsx         |   92 +
 .../src/components/FilterableTable/index.tsx       |   41 +-
 .../components/FilterableTable/sortResults.test.ts |  238 ++
 .../src/components/FilterableTable/sortResults.ts  |  180 ++
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |  124 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |    6 +
 .../semanticViews/AddSemanticViewModal.test.tsx    |   22 +
 .../src/features/userInfo/UserInfoModal.test.tsx   |   62 +-
 .../src/features/userInfo/UserInfoModal.tsx        |   26 +-
 .../src/features/users/UserListModal.test.tsx      |  178 ++
 .../src/features/users/UserListModal.tsx           |  108 +-
 superset-frontend/src/features/users/utils.ts      |    8 +-
 superset-frontend/src/pages/Login/Login.test.tsx   |  152 +-
 superset-frontend/src/pages/Login/index.tsx        |   45 +-
 superset-frontend/src/types/bootstrapTypes.ts      |    1 +
 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/commands/report/alert.py                  |   12 +-
 superset/commands/sql_lab/estimate.py              |   10 +-
 superset/commands/sql_lab/export.py                |   14 +
 superset/commands/streaming_export/base.py         |   11 +-
 superset/common/query_context_processor.py         |    1 +
 superset/config.py                                 |    5 +-
 superset/daos/base.py                              |    7 +-
 superset/daos/dashboard.py                         |    7 +-
 superset/databases/api.py                          |   14 +-
 superset/dataframe.py                              |   38 +-
 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             |  161 +-
 superset/db_engine_specs/datafusion.py             |   34 +-
 superset/db_engine_specs/db2.py                    |   12 +-
 superset/db_engine_specs/doris.py                  |  132 +-
 superset/db_engine_specs/dynamodb.py               |   24 +-
 superset/db_engine_specs/elasticsearch.py          |   63 +-
 superset/db_engine_specs/exasol.py                 |   76 +
 superset/db_engine_specs/gsheets.py                |  127 +-
 superset/db_engine_specs/impala.py                 |   21 +
 superset/db_engine_specs/mssql.py                  |    2 -
 superset/db_engine_specs/mysql.py                  |  349 +++
 superset/db_engine_specs/oracle.py                 |   65 +-
 superset/db_engine_specs/postgres.py               |    6 -
 superset/exceptions.py                             |   41 +
 superset/initialization/__init__.py                |    2 +-
 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    |   35 +
 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 +-
 .../chart/tool/get_chart_type_schema.py            |    4 +-
 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/mcp_service/server.py                     |   48 +
 superset/models/core.py                            |    5 +
 superset/models/helpers.py                         |   66 +-
 superset/result_set.py                             |    8 +
 superset/security/manager.py                       |  163 +-
 superset/security/password_change.py               |   63 +-
 superset/sql/dialects/db2.py                       |   81 +-
 superset/sql/execution/celery_task.py              |    2 +-
 superset/sql/execution/executor.py                 |   13 +
 superset/sql/parse.py                              |  333 ++-
 superset/sql_lab.py                                |    7 +-
 superset/sqllab/api.py                             |    7 +
 superset/subjects/utils.py                         |   40 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |  496 ++--
 superset/translations/ca/LC_MESSAGES/messages.po   |  459 ++--
 superset/translations/cs/LC_MESSAGES/messages.po   |  374 ++-
 superset/translations/de/LC_MESSAGES/messages.po   |  181 +-
 superset/translations/en/LC_MESSAGES/messages.po   |  150 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  170 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  496 ++--
 superset/translations/fi/LC_MESSAGES/messages.po   |  473 ++--
 superset/translations/fr/LC_MESSAGES/messages.po   |  173 +-
 superset/translations/it/LC_MESSAGES/messages.po   |  198 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |  156 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |  613 +++--
 superset/translations/lv/LC_MESSAGES/messages.po   |  385 ++-
 superset/translations/messages.pot                 | 2647 +++++---------------
 superset/translations/mi/LC_MESSAGES/messages.po   |  445 ++--
 superset/translations/nl/LC_MESSAGES/messages.po   |  519 ++--
 superset/translations/pl/LC_MESSAGES/messages.po   |  567 +++--
 superset/translations/pt/LC_MESSAGES/messages.po   |  182 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  510 ++--
 superset/translations/ro/LC_MESSAGES/messages.po   |  171 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |  163 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |  363 ++-
 superset/translations/sl/LC_MESSAGES/messages.po   |  175 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |  181 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |  184 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |  470 ++--
 superset/translations/th/LC_MESSAGES/messages.po   |  451 ++--
 superset/translations/tr/LC_MESSAGES/messages.po   |  190 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |  397 ++-
 superset/translations/zh/LC_MESSAGES/messages.po   |  205 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  442 ++--
 superset/utils/csv.py                              |   10 +
 superset/views/auth.py                             |   11 +-
 superset/views/users/api.py                        |    7 +-
 superset/views/users/schemas.py                    |   39 +-
 superset/views/utils.py                            |    2 +-
 .../charts/semantic_save_tests.py                  |   82 +-
 tests/integration_tests/core_tests.py              |   30 +-
 tests/integration_tests/databases/api_tests.py     |  105 +-
 .../integration_tests/databases/commands_tests.py  |   19 +-
 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/commands/report/alert_test.py     |   37 +
 tests/unit_tests/commands/sql_lab/export_test.py   |  113 +
 .../sql_lab/streaming_export_command_test.py       |   74 +
 tests/unit_tests/commands/sql_lab/test_estimate.py |   30 +
 .../common/test_query_context_processor.py         |   12 +
 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/dataframe_test.py                 |   83 +-
 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  |  272 +-
 .../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_doris.py     |  381 ++-
 tests/unit_tests/db_engine_specs/test_dynamodb.py  |   88 +-
 .../db_engine_specs/test_elasticsearch.py          |  185 +-
 tests/unit_tests/db_engine_specs/test_exasol.py    |  191 ++
 tests/unit_tests/db_engine_specs/test_gsheets.py   |  419 +++-
 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_mariadb.py   |   83 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |  741 ++++++
 tests/unit_tests/db_engine_specs/test_oracle.py    |   64 +-
 .../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        |  113 +
 .../chart/test_chart_plugin_contract.py            |  762 ++++++
 .../chart/test_histogram_boxplot_charts.py         |   62 +
 .../mcp_service/chart/test_preview_utils.py        |   66 +
 .../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 +
 .../chart/tool/test_get_chart_type_schema.py       |   10 +
 .../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  |   79 +-
 .../mcp_service/test_tool_search_transform.py      |  412 ++-
 tests/unit_tests/models/core_test.py               |   87 +
 tests/unit_tests/models/helpers_test.py            |   70 +-
 .../models/select_alias_shadowing_test.py          |  184 ++
 tests/unit_tests/result_set_test.py                |   93 +
 .../scripts/translations/babel_update_test.py      |  355 +++
 tests/unit_tests/security/manager_test.py          |  291 ++-
 tests/unit_tests/security/test_password_change.py  |  106 +-
 .../security/test_permission_instructions_link.py  |    4 +-
 tests/unit_tests/sql/dialects/db2_tests.py         |   20 +
 tests/unit_tests/sql/execution/test_celery_task.py |    2 +-
 tests/unit_tests/sql/execution/test_executor.py    |   51 +
 tests/unit_tests/sql/parse_tests.py                |  207 ++
 tests/unit_tests/sql_lab_test.py                   |   41 +-
 tests/unit_tests/sqllab/api_test.py                |   45 +
 tests/unit_tests/subjects/test_utils.py            |   80 +
 tests/unit_tests/utils/test_core.py                |   67 +-
 .../versioning/test_capture_gap_restore.py         |   52 +-
 .../unit_tests/versioning/test_runtime_capture.py  |    7 +-
 tests/unit_tests/views/test_auth_login.py          |   77 +
 tests/unit_tests/views/test_current_user_api.py    |  103 +-
 261 files changed, 24914 insertions(+), 6849 deletions(-)
 create mode 100644 .github/workflows/python-nightly-canary.yml
 create mode 100644 docs/admin_docs/configuration/google-sheets.mdx
 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-embedded-sdk/testrig/README.md
 create mode 100644 superset-embedded-sdk/testrig/drive.mjs
 create mode 100644 superset-embedded-sdk/testrig/embedded.html
 create mode 100644 superset-embedded-sdk/testrig/host.html
 create mode 100644 superset-embedded-sdk/testrig/server.mjs
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Bar/sparseSubDailyBarGeometry.test.ts
 create mode 100644 
superset-frontend/src/components/FilterableTable/exactDecimals.test.tsx
 create mode 100644 
superset-frontend/src/components/FilterableTable/sortResults.test.ts
 create mode 100644 
superset-frontend/src/components/FilterableTable/sortResults.ts
 create mode 100644 superset-frontend/src/features/users/UserListModal.test.tsx
 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/commands/sql_lab/export_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_exasol.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/select_alias_shadowing_test.py
 create mode 100644 tests/unit_tests/scripts/translations/babel_update_test.py
 create mode 100644 tests/unit_tests/views/test_auth_login.py

Reply via email to