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

dependabot[bot] pushed a change to branch 
dependabot/npm_and_yarn/superset-frontend/react-router-dom-7.18.4
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard b7ecca25b68 chore(deps): bump react-router-dom in /superset-frontend
     add b327d57165c fix(explore): skip Ctrl/Cmd+Enter query while controls 
have errors or chart is loading (#44963)
     add c45391c1689 fix(explore): show 0 zoom, latitude and longitude in the 
map view extent tag (#44962)
     add 6d090bec82e fix(explore): honor a controlled ControlPopover open prop 
(#44959)
     add b22144a76d4 fix(native-filters): show a clear error instead of 
"Network error" when filter values fail to load (#44585)
     add e10e268e992 fix(explore): dispatch datasource metadata fetch (#44958)
     add 489a02e3ea3 fix(semantic-layer): fail incomplete or unverified 
semantic query results (#44832)
     add e9862fb4ab2 fix(dashboard): refresh semantic metadata across edits 
(#45052)
     add 2ec20003ed5 chore: Update CODEOWNERS to include @sadpandajoe (#45120)
     add e5c5e918359 feat(mcp): add typed Sunburst chart support (#43771)
     add 4ca736d81c5 fix(semantic-layer): require write access for 
configuration schema enrichment (#45107)
     add 6efc896e5b9 test(dashboard): wait for async submenu and debounced 
validation in flaky tests (#45106)
     add 3bc9e9e479f fix(datasets): accept certification fields on dataset 
column and metric PUT (#45091)
     add cd34cc1019f chore(deps): bump chromaui/action from 18.10.1 to 18.10.2 
(#45134)
     add 1b35374fecb fix(semantic-layer): honor provider preferred time 
dimension (#44997)
     add ffc81d92a2c feat(dashboard): add column allowlist to Group By native 
filter (#43736)
     add 3fc078abe6b fix(soft-delete): preserve a shared datasource permission 
on purge (#45034)
     add a4a0899e92c perf(versioning): defer capture policy until versioned 
work (#44928)
     add 99899bd392f fix(date-parser): reject malformed time ranges instead of 
scanning everything (#45098)
     add 13c5ff8c87f chore(deps-dev): bump wait-on from 9.4.0 to 9.5.1 in 
/superset-frontend (#45048)
     add 61df1692584 chore(deps): bump mapbox-gl from 3.31.0 to 3.32.0 in 
/superset-frontend (#45049)
     add 035ae052525 chore(deps-dev): bump vitest from 5.0.2 to 5.0.3 in 
/superset-embedded-sdk (#45074)
     add 9635e7f1f91 chore(deps): bump the swc group across 2 directories with 
1 update (#45118)
     add 9e7a05e6ed1 chore(deps-dev): bump @types/node in 
/superset-embedded-sdk (#45121)
     add cda7a1e8189 chore(deps): bump swagger-ui-react from 5.33.0 to 5.33.1 
in /docs (#45122)
     add cfb0ed61eb8 chore(deps): bump yargs from 18.1.0 to 18.2.0 in 
/superset-frontend (#45129)
     add a8fc576cfe3 chore(deps-dev): bump oxfmt in /docs (#45119)
     add cb8ff2885a6 fix(permalink): use a shared lock when re-reading a 
concurrently created permalink (#45102)
     add ab2c69f29cd fix(column-config): allow commas in D3 number formats 
(#45145)
     add e538ebfa2c9 feat(mcp): opt-in compact native tools/list and trimmed 
tool guidance (#45084)
     add 64b02eebed4 fix(mcp): add sort_by option to XYChartConfig (#42627) 
(#44464)
     add 1267bd1acee test(semantic-layer): pin layer list scoping to accessible 
layers (#45101)
     add 8aeb2850914 fix(mcp): keep isError through call_tool and test native 
tool surface parity (#45081)
     add d3c47f6212e chore(deps): bump slack-sdk from 3.44.1 to 3.45.0 (#45116)
     add 0edbccc71a8 chore(deps-dev): bump trino from 0.339.0 to 0.340.0 
(#45117)
     add 5e6156a820c chore(deps-dev): bump gevent from 26.8.0 to 26.9.0 (#45115)
     add 461cf9e49af chore(deps): bump sqlalchemy-continuum from 1.7.0 to 1.8.0 
(#45114)
     add 97ce269b962 chore(deps): bump cryptography from 50.0.1 to 50.0.2 
(#45112)
     add 2918a7b94d1 feat(i18n): extract translator context comments from 
source (#44397)
     add 82223373a3a chore(deps-dev): update teradatasql requirement from 
>=20.0.0.68 to >=20.0.0.69 (#45162)
     add d48b8486851 chore(deps): bump msgpack from 1.2.2 to 1.2.3 (#45161)
     add 7e6aa124e1a chore(deps): bump pyjwt from 2.14.0 to 2.15.1 (#45159)
     add 8318398da46 chore(deps): bump the security group across 1 directory 
with 4 updates (#45143)
     add 5faa58e7d2b chore(deps-dev): bump pymssql from 2.4.1 to 2.4.2 (#45156)
     add b9e8188ad60 chore(deps): bump simplejson from 4.1.2 to 4.2.0 (#45158)
     add d7717743b1f test(utils): add unit test for scalar_to_sequence (#45144)
     add f9f2eb283d3 test(sql): pin Druid JSON_VALUE RETURNING parsing (#45131)
     add a55b236a5be fix(semantic-layer): fetch view metadata once per query 
(#45104)
     add 76b62d34fba fix(semantic-layer): preserve nullable integer precision 
in chart data (#45126)
     add 38ad1150ecf feat(retention): cap soft-delete purge and version-history 
prune per run (#45029)
     add 04db66b0f66 feat(semantic-layer): invalidate metadata caches on 
configuration save (#45100)
     add fd2740bec1e fix(charts): avoid loading semantic provider metadata 
before denying chart data access (#45060)
     add e229ea4a543 fix(mcp): resolve saved semantic-view chart sources by 
type (#45067)
     add af7978ae74d docs(mcp): document dashboard owner/role/certification 
governance tools (#43900)
     add bae6d10cebc chore(deps): bump react-resize-detector from 7.1.2 to 
12.3.0 in /superset-frontend (#45124)
     add 46e8bd775c5 chore(deps): bump react-router-dom in /superset-frontend

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   (b7ecca25b68)
            \
             N -- N -- N   
refs/heads/dependabot/npm_and_yarn/superset-frontend/react-router-dom-7.18.4 
(46e8bd775c5)

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/CODEOWNERS                                 |    8 +-
 .github/dependabot.yml                             |    1 +
 .github/workflows/chromatic.yml                    |    2 +-
 UPDATING.md                                        |   71 +
 docs/admin_docs/configuration/mcp-server.mdx       |  235 +-
 docs/developer_docs/contributing/howtos.md         |   83 +-
 .../extensions/contribution-types.md               |   20 +-
 docs/developer_docs/extensions/mcp.md              |   81 +
 docs/developer_docs/semantic-layer-cache-clear.md  |  106 +
 docs/developer_docs/semantic-metadata-contract.md  |  187 -
 .../developer_docs/semantic-result-completeness.md |   70 +
 .../creating-your-first-dashboard.mdx              |   13 +
 .../using-superset/exporting-dashboard-data.mdx    |    4 +-
 docs/docs/using-superset/recently-archived.mdx     |   37 +
 .../docs/using-superset/using-ai-with-superset.mdx |   32 +
 docs/docs/using-superset/version-history.mdx       |   33 +-
 docs/package.json                                  |    8 +-
 docs/static/resources/openapi.json                 |   32 +
 docs/yarn.lock                                     |  425 +-
 pyproject.toml                                     |   20 +-
 requirements/base.in                               |    2 +-
 requirements/base.txt                              |   12 +-
 requirements/development.txt                       |   18 +-
 scripts/translations/babel_update.sh               |    7 +
 scripts/translations/backfill_po.py                |   79 +-
 scripts/translations/check_pot_drift.py            |   81 +-
 .../src/superset_core/semantic_layers/errors.py    |   42 +
 .../src/superset_core/semantic_layers/layer.py     |   25 +-
 .../src/superset_core/semantic_layers/metadata.py  |  196 -
 .../src/superset_core/semantic_layers/view.py      |   33 +-
 superset-core/tests/semantic_layers/test_errors.py |   66 +
 .../tests/semantic_layers/test_view.py             |   11 +-
 superset-embedded-sdk/package-lock.json            |  184 +-
 superset-embedded-sdk/package.json                 |    4 +-
 superset-frontend/jest.config.js                   |    2 +-
 superset-frontend/package-lock.json                |  446 +-
 superset-frontend/package.json                     |   18 +-
 .../packages/generator-superset/package.json       |    2 +-
 .../src/utils/D3Formatting.ts                      |    1 +
 .../packages/superset-ui-core/package.json         |    6 +-
 .../components/MetadataBar/MetadataBar.test.tsx    |   40 +-
 .../src/components/MetadataBar/MetadataBar.tsx     |    6 +-
 .../src/components/Table/VirtualTable.test.tsx     |   10 +-
 .../src/components/Table/VirtualTable.tsx          |    4 +-
 .../plugins/plugin-chart-handlebars/package.json   |    2 +-
 .../plugin-chart-point-cluster-map/package.json    |    2 +-
 .../plugins/preset-chart-deckgl/package.json       |    2 +-
 .../DynamicGroupBy/DynamicGroupByPlugin.test.tsx   |   56 +
 .../DynamicGroupBy/DynamicGroupByPlugin.tsx        |   52 +-
 .../DynamicGroupBy/columnAllowlist.test.ts         |   67 +
 .../components/DynamicGroupBy/columnAllowlist.ts   |  105 +
 .../components/DynamicGroupBy/types.ts             |    5 +
 .../src/dashboard/actions/dashboardInfo.ts         |   98 +-
 .../src/dashboard/actions/dashboardState.test.ts   |  146 +
 .../src/dashboard/actions/dashboardState.ts        |   63 +-
 .../src/dashboard/actions/datasources.test.ts      |  114 +
 .../src/dashboard/actions/datasources.ts           |   41 +-
 .../components/gridComponents/Chart/Chart.test.tsx |   24 +-
 .../FilterBar/FilterControls/FilterValue.test.tsx  |   92 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |   23 +-
 .../FilterControls/GroupByFilterCard.test.tsx      |  159 +
 .../FilterBar/FilterControls/GroupByFilterCard.tsx |   41 +-
 .../FiltersConfigForm/ColumnSelect.test.tsx        |   39 +
 .../FiltersConfigForm/ColumnSelect.tsx             |   99 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |  197 +-
 .../GroupByColumnAllowlist.test.tsx                |  429 ++
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    6 +-
 .../transformers/customizationTransformer.test.ts  |  109 +
 .../transformers/customizationTransformer.ts       |   59 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |    4 +
 .../dashboard/containers/DashboardPage.test.tsx    |  153 +-
 .../src/dashboard/containers/DashboardPage.tsx     |   59 +-
 .../src/dashboard/reducers/dashboardInfo.test.ts   |  327 ++
 .../src/dashboard/reducers/dashboardInfo.ts        |  160 +
 superset-frontend/src/dashboard/types.ts           |   13 +
 .../ExploreViewContainer.test.tsx                  |  153 +
 .../components/ExploreViewContainer/index.tsx      |   32 +-
 .../ColumnConfigConstants.test.tsx                 |   25 +-
 .../controls/ColumnConfigControl/constants.tsx     |    2 +
 .../ControlPopover/ControlPopover.test.tsx         |   66 +
 .../controls/ControlPopover/ControlPopover.tsx     |   39 +-
 .../controls/MapViewControl/ExtentTag.test.tsx     |   68 +
 .../controls/MapViewControl/ExtentTag.tsx          |   13 +-
 .../components/controls/MapViewControl/types.ts    |    6 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |    2 +
 .../semanticLayers/SemanticLayerModal.test.tsx     |  130 +-
 .../features/semanticLayers/SemanticLayerModal.tsx |   75 +-
 .../src/middleware/asyncEvent.test.ts              |  195 +
 superset-frontend/src/middleware/asyncEvent.ts     |   53 +-
 .../src/middleware/asyncQueryError.ts              |  118 +
 superset-frontend/src/pages/DatabaseList/index.tsx |    2 +
 .../utils/getChartRequiredFieldsMissingMessage.ts  |    1 +
 superset-websocket/package-lock.json               |    8 +-
 superset-websocket/package.json                    |    2 +-
 superset/charts/data/api.py                        |    7 +-
 superset/charts/data/form_data.py                  |    2 +-
 superset/commands/dashboard/permalink/create.py    |   13 +-
 .../commands/deletion_retention/purge_policy.py    |   26 +-
 superset/commands/distributed_lock/release.py      |    3 +-
 superset/commands/semantic_layer/update.py         |   58 +-
 superset/common/form_data_query_context.py         | 1599 +++++-
 superset/common/query_context_factory.py           |   42 +-
 superset/common/query_context_processor.py         |   57 +-
 superset/common/tabular_query.py                   |    7 +-
 superset/common/utils/dataframe_utils.py           |    8 +-
 superset/config.py                                 |   19 +
 superset/daos/key_value.py                         |   14 +-
 superset/daos/report.py                            |    3 +-
 superset/dashboards/excel_export/workbook.py       |   11 +-
 superset/datasets/schemas.py                       |   39 +-
 superset/datasource/api.py                         |   97 +-
 superset/exceptions.py                             |   26 +
 superset/key_value/types.py                        |   30 +-
 superset/mcp_service/app.py                        |   10 +-
 superset/mcp_service/auth.py                       |   13 +-
 superset/mcp_service/chart/chart_helpers.py        |  564 +-
 superset/mcp_service/chart/chart_utils.py          | 1212 ++++-
 superset/mcp_service/chart/compile.py              |  145 +-
 superset/mcp_service/chart/plugin.py               |  202 +-
 superset/mcp_service/chart/plugins/__init__.py     |    3 +
 superset/mcp_service/chart/plugins/big_number.py   |   23 +-
 superset/mcp_service/chart/plugins/bubble.py       |    4 +-
 superset/mcp_service/chart/plugins/gantt.py        |   32 +
 superset/mcp_service/chart/plugins/gauge.py        |   40 +-
 superset/mcp_service/chart/plugins/histogram.py    |   10 +-
 .../mcp_service/chart/plugins/mixed_timeseries.py  |   84 +-
 superset/mcp_service/chart/plugins/pivot_table.py  |    4 +
 superset/mcp_service/chart/plugins/sunburst.py     |  288 +
 superset/mcp_service/chart/plugins/table.py        |   25 +
 superset/mcp_service/chart/plugins/treemap.py      |    3 +-
 superset/mcp_service/chart/plugins/waterfall.py    |    6 +-
 superset/mcp_service/chart/plugins/xy.py           |  185 +-
 superset/mcp_service/chart/preview_utils.py        |  376 +-
 superset/mcp_service/chart/query_result.py         | 1756 ++++++-
 superset/mcp_service/chart/registry.py             |   18 +
 .../mcp_service/chart/resources/chart_configs.py   |   55 +-
 superset/mcp_service/chart/response_preflight.py   |  204 +
 superset/mcp_service/chart/schemas.py              | 1490 +++++-
 superset/mcp_service/chart/sunburst.py             |  436 ++
 superset/mcp_service/chart/tool/generate_chart.py  |  223 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |  659 ++-
 superset/mcp_service/chart/tool/get_chart_info.py  |   12 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |  160 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |  195 +-
 .../chart/tool/get_chart_type_schema.py            |   23 +-
 superset/mcp_service/chart/tool/update_chart.py    |  532 +-
 .../mcp_service/chart/tool/update_chart_preview.py |  366 +-
 .../chart/validation/dataset_validator.py          |  431 +-
 .../validation/runtime/chart_type_suggester.py     |   13 +-
 superset/mcp_service/common/pagination_schemas.py  |    3 +-
 .../mcp_service/common/time_range_validation.py    |   81 +-
 superset/mcp_service/dashboard/schemas.py          |   55 +-
 .../dashboard/tool/manage_dashboard_owners.py      |    4 +-
 .../dashboard/tool/manage_dashboard_roles.py       |   22 +-
 superset/mcp_service/dataset/schemas.py            |   28 +-
 superset/mcp_service/dataset/tool/query_dataset.py |  149 +-
 superset/mcp_service/mcp_config.py                 |   28 +-
 superset/mcp_service/middleware.py                 |   54 +-
 superset/mcp_service/semantic_layer/schemas.py     |    8 +-
 .../mcp_service/semantic_layer/tool/get_table.py   |  128 +-
 superset/mcp_service/server.py                     |   84 +-
 superset/mcp_service/utils/cache_utils.py          |   32 +-
 superset/mcp_service/utils/response_utils.py       |  294 +-
 superset/mcp_service/utils/serialization.py        |   51 +-
 ...79af013f48_add_semantic_layer_cache_version.py} |   25 +-
 superset/models/helpers.py                         |   42 +
 superset/security/manager.py                       |  106 +-
 superset/semantic_layers/api.py                    |   61 +-
 superset/semantic_layers/completeness.py           |   44 +
 superset/semantic_layers/mapper.py                 |  141 +-
 superset/semantic_layers/models.py                 |  228 +-
 superset/tasks/async_queries.py                    |   17 +-
 superset/tasks/deletion_retention.py               |  397 +-
 .../rank.py => tasks/retention_cap.py}             |   29 +-
 superset/tasks/version_history_retention.py        |  282 +-
 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   |   29 +
 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                 |   64 +-
 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   |   29 +
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   29 +
 superset/utils/date_parser.py                      |    4 +
 .../utils/pandas_postprocessing/contribution.py    |   24 +-
 superset/versioning/baseline/listener.py           |    6 +-
 superset/versioning/changes/listener.py            |   15 +-
 superset/versioning/metrics.py                     |    6 +-
 superset/versioning/unit_of_work.py                |   42 +-
 superset/views/api.py                              |    4 +-
 superset/views/dashboard/mixin.py                  |    1 +
 .../charts/semantic_metadata_authz_tests.py        |  640 +++
 .../deletion_retention/purge_tests.py              |  200 +
 .../versioning/retention_prune_tests.py            |   65 +
 .../charts/data/test_time_range_validation.py      |   48 +
 .../commands/dashboard/permalink_create_test.py    |    6 +-
 .../deletion_retention/test_purge_chart_detach.py  |   18 +-
 .../common/test_form_data_query_context.py         |  296 +-
 .../common/test_query_context_processor.py         |  152 +-
 tests/unit_tests/dao/key_value_test.py             |   42 +
 .../dashboards/test_excel_export_sync_budget.py    |   47 +
 tests/unit_tests/datasets/dao/dao_tests.py         |   65 +
 tests/unit_tests/datasets/schema_tests.py          |   52 +
 .../distributed_lock/distributed_lock_tests.py     |    6 +-
 .../mcp_service/chart/query_result_fixtures.py     |  165 +
 ...test_axis_offset_and_spatial_query_contracts.py |  474 ++
 .../mcp_service/chart/test_bubble_chart.py         |   10 +-
 .../mcp_service/chart/test_chart_helpers.py        |  776 ++-
 .../chart/test_chart_plugin_contract.py            |  227 +-
 .../mcp_service/chart/test_chart_schemas.py        |  244 +
 .../mcp_service/chart/test_chart_utils.py          |  895 ++++
 tests/unit_tests/mcp_service/chart/test_compile.py |  470 +-
 .../mcp_service/chart/test_gantt_chart.py          |   35 +-
 ..._metric_aggregation_and_comparison_contracts.py |  379 ++
 ...ative_form_data_and_dataset_rebind_contracts.py | 1326 +++++
 .../mcp_service/chart/test_new_chart_types.py      |    4 +-
 .../mcp_service/chart/test_preview_utils.py        |  292 +-
 .../mcp_service/chart/test_query_result.py         | 2027 ++++++-
 .../unit_tests/mcp_service/chart/test_registry.py  |   33 +-
 .../mcp_service/chart/test_response_preflight.py   |  486 ++
 .../test_review_query_and_preview_regressions.py   |  438 ++
 .../mcp_service/chart/test_sunburst_chart.py       | 5547 ++++++++++++++++++++
 .../mcp_service/chart/test_treemap_completeness.py |   56 +-
 .../mcp_service/chart/tool/test_generate_chart.py  |   95 +
 .../mcp_service/chart/tool/test_get_chart_data.py  | 2378 ++++++++-
 .../chart/tool/test_get_chart_preview.py           |  362 +-
 .../mcp_service/chart/tool/test_get_chart_sql.py   |  332 +-
 .../chart/tool/test_saved_chart_datasource.py      |  422 ++
 .../mcp_service/chart/tool/test_update_chart.py    |  834 ++-
 .../chart/tool/test_update_chart_preview.py        |  245 +-
 .../validation/test_column_name_normalization.py   |   21 +
 .../chart/validation/test_dataset_validator.py     |  421 +-
 .../common/test_time_range_validation.py           |   82 +-
 .../mcp_service/dataset/tool/test_query_dataset.py |  954 +++-
 .../explore/tool/test_generate_explore_link.py     |  476 +-
 .../mcp_service/native_tool_inventory.json         | 1289 +++++
 .../semantic_layer/tool/test_get_table.py          | 1009 +++-
 .../mcp_service/test_chart_tool_inventory.py       |    2 +-
 .../unit_tests/mcp_service/test_dashboard_scope.py |   11 +-
 tests/unit_tests/mcp_service/test_mcp_server.py    |   69 +
 .../mcp_service/test_middleware_logging.py         |  138 +-
 .../mcp_service/test_native_tool_surface.py        | 1144 ++++
 .../test_tool_description_constraints.py           |   44 +-
 .../unit_tests/mcp_service/test_tool_inventory.py  |   14 +-
 .../mcp_service/test_tool_search_transform.py      |   10 +-
 .../mcp_service/utils/test_cache_utils.py          |   32 +-
 .../mcp_service/utils/test_response_utils.py       |  246 +
 .../mcp_service/utils/test_serialization.py        |   68 +
 .../unit_tests/models/test_certification_mixin.py  |   76 +
 .../unit_tests/pandas_postprocessing/test_utils.py |   18 +-
 tests/unit_tests/reports/config_dao_test.py        |    8 +-
 .../scripts/translations/backfill_po_test.py       |  226 +-
 .../scripts/translations/check_pot_drift_test.py   |  215 +-
 tests/unit_tests/security/manager_test.py          |  484 ++
 .../unit_tests/security/semantic_guest_rls_test.py |   18 +-
 tests/unit_tests/semantic_layers/api_test.py       |   77 +
 .../semantic_layers/integer_precision_test.py      |  366 ++
 .../semantic_layers/layer_list_scope_test.py       |  215 +
 tests/unit_tests/semantic_layers/mapper_test.py    |  219 +-
 .../semantic_layers/metadata_contract_test.py      |  566 +-
 tests/unit_tests/semantic_layers/models_test.py    |  231 +-
 .../semantic_layers/result_completeness_test.py    |   86 +
 .../semantic_layers/simple_cache_clear_test.py     |  650 +++
 .../semantic_layers/values_endpoint_test.py        |  257 +-
 tests/unit_tests/sql/parse_tests.py                |   17 +
 tests/unit_tests/tasks/test_async_queries.py       |   37 +-
 tests/unit_tests/tasks/test_deletion_retention.py  |  796 ++-
 .../tasks/test_version_history_retention.py        |  659 ++-
 tests/unit_tests/utils/date_parser_tests.py        |   47 +
 tests/unit_tests/versioning/test_listener.py       |   16 +-
 .../unit_tests/versioning/test_runtime_capture.py  |  157 +
 294 files changed, 48119 insertions(+), 5332 deletions(-)
 create mode 100644 docs/developer_docs/semantic-layer-cache-clear.md
 delete mode 100644 docs/developer_docs/semantic-metadata-contract.md
 create mode 100644 docs/developer_docs/semantic-result-completeness.md
 create mode 100644 superset-core/src/superset_core/semantic_layers/errors.py
 delete mode 100644 superset-core/src/superset_core/semantic_layers/metadata.py
 create mode 100644 superset-core/tests/semantic_layers/test_errors.py
 copy superset/mcp_service/common/__init__.py => 
superset-core/tests/semantic_layers/test_view.py (79%)
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DynamicGroupBy/columnAllowlist.test.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DynamicGroupBy/columnAllowlist.ts
 create mode 100644 superset-frontend/src/dashboard/actions/datasources.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/GroupByColumnAllowlist.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/MapViewControl/ExtentTag.test.tsx
 create mode 100644 superset-frontend/src/middleware/asyncQueryError.ts
 create mode 100644 superset/mcp_service/chart/plugins/sunburst.py
 create mode 100644 superset/mcp_service/chart/response_preflight.py
 create mode 100644 superset/mcp_service/chart/sunburst.py
 copy 
superset/migrations/versions/{2026-06-01_00-00_b7c9d1e2f3a4_add_password_must_change.py
 => 2026-10-08_00-00_c179af013f48_add_semantic_layer_cache_version.py} (65%)
 create mode 100644 superset/semantic_layers/completeness.py
 copy superset/{utils/pandas_postprocessing/rank.py => tasks/retention_cap.py} 
(59%)
 create mode 100644 
tests/integration_tests/charts/semantic_metadata_authz_tests.py
 create mode 100644 tests/unit_tests/charts/data/test_time_range_validation.py
 create mode 100644 tests/unit_tests/mcp_service/chart/query_result_fixtures.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_axis_offset_and_spatial_query_contracts.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_metric_aggregation_and_comparison_contracts.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_native_form_data_and_dataset_rebind_contracts.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_response_preflight.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_review_query_and_preview_regressions.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_sunburst_chart.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/tool/test_saved_chart_datasource.py
 create mode 100644 tests/unit_tests/mcp_service/native_tool_inventory.json
 create mode 100644 tests/unit_tests/mcp_service/test_native_tool_surface.py
 create mode 100644 tests/unit_tests/models/test_certification_mixin.py
 create mode 100644 tests/unit_tests/semantic_layers/integer_precision_test.py
 create mode 100644 tests/unit_tests/semantic_layers/layer_list_scope_test.py
 create mode 100644 tests/unit_tests/semantic_layers/result_completeness_test.py
 create mode 100644 tests/unit_tests/semantic_layers/simple_cache_clear_test.py

Reply via email to