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

sadpandajoe pushed a change to branch fix-pivot-table-totals-requery
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 21013ae298d fix(charts): mirror pivot subtotal level gating in form 
data rebuild
     add 7ff5709882f fix(candlestick): give OHLC labels their own translatable 
strings (#45458)
     add 0f376ba9f97 fix(semantic-layers): show per-view errors when adding 
semantic views (#45524)
     add 190873e9832 fix(version-history): preview banner, history panel 
layout, scope labels and current-version marking (#45471)
     add 6dc0641c91a fix(reports): keep the first column header in XLSX exports 
of semantic-view tables (#45527)
     add 4e7e2b7390d fix(tests): narrow Optional StatementResult.data in async 
result tests (#45517)
     add 836c0f3f95d fix(table): reset default margins on the pagination list 
(#45365)
     add 8d3ade7e0a8 test(trino): close db_engine_spec test gaps (#45361)
     add 3d902d9eb3a chore(deps): bump the security group across 2 directories 
with 2 updates (#45542)
     add 527021d5819 chore(deps): bump react-virtualized-auto-sizer from 1.0.26 
to 2.0.3 in /superset-frontend (#45197)
     add c11f993af37 fix(auth): close forced-password-change redirect loop and 
sweep stale legacy password perms from all roles (#44857)
     add 7d0e1c939ee fix(frontend): retry a failed lazy import before surfacing 
ChunkLoadError (#43215)
     add abc1b50f65d fix(mcp): clean up nits from PNG chart preview review 
(#45509)
     add b6ef0bf48d8 chore(tags): stop auto-generating 
type:/editor:/favorited_by: tags (#43471)
     add cb04282f501 chore(deps): bump swagger-ui-react from 5.33.1 to 5.33.2 
in /docs (#45567)
     add f1d8161777c chore(deps): bump chromaui/action from 18.12.1 to 18.12.2 
(#45564)
     add f9aec7515b4 chore(deps): bump actions/setup-java from 6.0.1 to 6.1.0 
in the gh-actions group (#45563)
     add 75be8f981a6 feat(improvements): let deployments withhold assets from 
list queries and commands (#45451)
     add f9a0d8af493 chore(deps-dev): bump oxlint from 1.87.0 to 1.88.0 in 
/docs (#45566)
     add fa8a035fcf6 fix(mcp): stop rejecting titles that contain "data:" in 
prose (#45485)
     add e8824351f19 fix(mcp): isolate dashboard copies and clarify chart 
evidence (#45504)
     add cdc9430597c fix(db_engine_specs): patch oceanbase_py's dialect for 
SQLAlchemy 2.0 (#45507)
     add 00688c7871b chore(deps-dev): update pinotdb requirement from 
<10.0.0,>=8.0.0 to >=9.2.2,<10.0.0 (#45414)
     add 73737afbfbb chore(deps): bump pyarrow from 25.0.1 to 26.0.0 (#45412)
     add 067d536e216 chore(deps-dev): bump fastmcp from 3.4.7 to 4.1.0 (#45415)
     add b7bfbd365e6 chore(deps-dev): bump oxfmt in /docs (#45565)
     add 2b1046959d2 chore: bump pillow, certifi and geopy pins, tidy two small 
code nits (#45578)
     add 54aaf3ad7d7 fix(mcp): surface missing query_context warning in 
get_chart_data result (#45250)
     add fdb22260e25 fix(number-format): make the adaptive formatters follow 
D3_FORMAT (#45241)
     add c3279f01921 ci: skip jobs that cannot complete on forks and private 
mirrors (#45035)
     add 385844237e6 fix(explore): preserve zero thresholds in contour controls 
(#44966)
     add 3de22376c5c fix(dashboards): update last modified timestamp when 
adding chart to dashboard (#44305) (#44358)
     add 77ebc0e55f3 fix(chart): keep dataset_uuid in exports when the dataset 
is deleted (#44347)
     add 452dea81f23 chore(deps-dev): bump @playwright/test from 1.62.1 to 
1.64.0 in /superset-frontend (#45371)
     add bc83e3e6fdb fix(mcp): propose a matching value when a dashboard filter 
value is rejected (#45547)
     add b129d6a4c12 fix(semantic-layer): narrow Filter|OrFilter unions in test 
helpers for mypy (#45268)
     add ff214bdfb14 fix(sqllab): clip multi-line result values to their row 
(#45487)
     add 62d22e0697c fix(semantic-layer): type the E2E stub filters for the 
full filter union (#45419)
     add 5eaad449f5c fix(import): return 422 instead of 500 for unsafe ZIP 
import bundles (#45440)
     add 676af61b1c9 fix(jinja): keep filters with 0 or false values in 
get_filters and fi… (#45437)
     add 47358be13c1 fix(import): return 422 instead of 500 for non-UTF-8 
members in import bundles (#45424)
     add b4f8ca407a3 chore(deps-dev): bump vite from 8.3.1 to 8.3.5 in 
/superset-websocket in the security group across 1 directory (#45590)
     add 7ff7f9048bf fix(semantic-layer): handle absent fetch-values predicate 
(#45539)
     add 9ce458594fe fix(connection): encode next in the unauthorized login 
redirect (#45477)
     add 2304d1b80f2 fix(datasets): re-check statement count after query 
mutation (#45453)
     add 4bfd874c4cb fix(postprocessing): handle Decimal comparisons with zero 
baselines (#45467)
     add 4e5d0ef8f13 fix(models): keep NULL rows in NOT IN filters without a 
NULL value (#45305)
     add a0ebed9ff1a docs(auth): add Keycloak PKCE, logout and group-mapping 
example (#38092)
     add b3471a1369c fix(a11y): WCAG 1.4.1 — add non-color visual cues to 
status indicators (#39233)
     add 3297c39d94c docs(installation): describe the default image instead of 
lean in Docker Compose responsibilities (#45582)
     add 47300cf4c2f fix(mcp): pass time_grain as a string and keep annotation 
DB error classification (#45484)
     add 030f36a00c3 docs(extensions): move Semantic Layers into its own 
extension point page (#45630)
     add 578d43fef9b fix(listview): prevent table column layout shift on 
content change (#37299)
     add 97a536f37d9 feat(echarts): allow configuring minInterval on bar and 
line chart axes (#43515)
     add dfd84bf3d9e fix(mcp): only serve the browser hello page on the MCP 
endpoint (#45391)
     add 7fceb05c1ce docs(docker): drop redundant packages from custom image 
example, bump version numbers (#44240)
     add aabddf5b3f5 fix(semantic-layers): cap and time-bound bulk semantic 
view creation (#45532)
     add b4fcba79875 Merge branch 'master' into fix-pivot-table-totals-requery

No new revisions were added by this update.

Summary of changes:
 .github/workflows/chromatic.yml                    |    2 +-
 .github/workflows/codeql-analysis.yml              |   19 +-
 .github/workflows/docker.yml                       |   25 +-
 .github/workflows/frontend-bundle-size-nightly.yml |    3 +
 .github/workflows/generate-FOSSA-report.yml        |    2 +-
 .github/workflows/github-action-validator.yml      |   14 +
 .github/workflows/license-check.yml                |    2 +-
 .github/workflows/python-nightly-canary.yml        |    3 +
 .../scripts/check-code-scanning-available.sh       |   64 ++
 .../scripts/check-code-scanning-available.test.sh  |  118 +++
 .github/workflows/showtime-cleanup.yml             |    3 +
 .github/workflows/superset-docs-deploy.yml         |    2 +-
 .github/workflows/superset-docs-verify.yml         |    5 +
 .github/workflows/superset-frontend.yml            |    3 +
 .github/workflows/superset-translations.yml        |    9 +-
 .github/workflows/testcontainers.yml               |    7 +-
 UPDATING.md                                        |  122 ++-
 docs/admin_docs/configuration/cache.mdx            |    2 +-
 .../configuration/configuring-superset.mdx         |    2 +
 docs/admin_docs/configuration/mcp-server.mdx       |   77 +-
 docs/admin_docs/installation/docker-builds.mdx     |   43 +-
 .../installation/installation-methods.mdx          |    4 +-
 docs/admin_docs/security/oauth.mdx                 |  318 ++++++
 docs/admin_docs/security/security.mdx              |   63 ++
 .../extensions/contribution-types.md               |  332 +-----
 .../semantic-layers.md}                            |  392 +++-----
 .../extensions/semantic-execution-context.md       |  102 --
 docs/developer_docs/extensions/semantic-filters.md |   79 --
 docs/developer_docs/semantic-layer-cache-clear.md  |    2 +-
 docs/developer_docs/sidebars.js                    |    1 +
 docs/docs/using-superset/exploring-data.mdx        |    8 +
 .../using-superset/semantic-layer-connections.mdx  |   11 +
 .../using-superset/semantic-member-selections.mdx  |    2 +-
 .../docs/using-superset/using-ai-with-superset.mdx |   20 +
 docs/package.json                                  |    6 +-
 docs/sidebarTutorials.js                           |    2 +-
 docs/static/resources/openapi.json                 |    1 +
 docs/yarn.lock                                     |  492 ++++-----
 pyproject.toml                                     |    8 +-
 requirements/base.in                               |    2 +-
 requirements/base.txt                              |   10 +-
 requirements/development.txt                       |   48 +-
 superset-embedded-sdk/package-lock.json            |   26 +-
 superset-frontend/package-lock.json                |  697 +++++--------
 superset-frontend/package.json                     |    8 +-
 .../src/components/TableCollection/utils.tsx       |    3 +-
 .../src/connection/SupersetClientClass.ts          |    4 +-
 .../src/number-format/NumberFormatterRegistry.ts   |   28 +-
 .../factories/createSmartNumberFormatter.ts        |   56 +-
 .../test/connection/SupersetClientClass.test.ts    |    5 +-
 .../number-format/NumberFormatterRegistry.test.ts  |   18 +
 .../factories/createSmartNumberFormatter.test.ts   |   14 +
 .../playwright/helpers/api/assertions.ts           |   16 +-
 .../playwright/tests/chart/chart-list.spec.ts      |    4 +-
 .../tests/dashboard/dashboard-list.spec.ts         |    4 +-
 .../dashboard/version-history-placement.spec.ts    |   39 +-
 .../playwright/tests/dataset/dataset-list.spec.ts  |    4 +-
 .../tests/version-history/activity-log.spec.ts     |   14 +-
 .../src/Candlestick/constants.ts                   |   12 +-
 .../src/Candlestick/controlPanel.tsx               |    8 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |   28 +
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |   19 +
 .../src/Timeseries/transformProps.ts               |   26 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |    2 +
 .../plugins/plugin-chart-echarts/src/controls.tsx  |   30 +
 .../test/Candlestick/controlPanel.test.ts          |   10 +
 .../test/Candlestick/transformProps.test.ts        |   17 +
 .../test/Timeseries/Bar/controlPanel.test.ts       |   28 +
 .../test/Timeseries/Line/controlPanel.test.ts      |   42 +
 .../test/Timeseries/helpers.ts                     |    1 +
 .../test/Timeseries/transformProps.test.ts         |  128 +++
 .../plugins/plugin-chart-table/src/Styles.tsx      |    4 +
 .../plugin-chart-table/test/TableChart.test.tsx    |   73 ++
 .../src/layers/Contour/Contour.test.ts             |   56 ++
 .../src/layers/Contour/Contour.tsx                 |    2 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |   13 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |   10 +-
 .../SqlLab/components/SqlEditor/SqlEditor.test.tsx |   17 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |   10 +-
 .../TableExploreTree/TableExploreTree.test.tsx     |   13 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |   10 +-
 .../components/TablePreview/TablePreview.test.tsx  |   13 +-
 .../src/SqlLab/components/TablePreview/index.tsx   |    8 +-
 .../components/Chart/ChartErrorMessage.test.tsx    |    2 +-
 .../src/components/Chart/ChartErrorMessage.tsx     |    3 +-
 .../FoldersEditor/FoldersEditor.test.tsx           |   17 +-
 .../components/Datasource/FoldersEditor/index.tsx  |   12 +-
 .../components/ErrorMessage/ErrorAlert.test.tsx    |   41 +
 .../src/components/GridTable/GridTable.test.tsx    |   21 +
 .../src/components/GridTable/index.tsx             |   10 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |  137 ++-
 .../DashboardBuilder/DashboardBuilder.tsx          |  155 +--
 .../DashboardBuilder/DashboardWrapper.tsx          |    2 +-
 .../src/dashboard/components/SliceAdder.test.tsx   |    2 +-
 .../src/dashboard/components/SliceAdder.tsx        |    8 +-
 .../src/dashboard/containers/DashboardPage.tsx     |    5 +-
 superset-frontend/src/embedded/index.tsx           |    5 +-
 .../DatasourcePanel.real-autosizer.test.tsx        |    7 +-
 .../DatasourcePanel/DatasourcePanel.test.tsx       |   13 +-
 .../explore/components/DatasourcePanel/index.tsx   |   10 +-
 .../components/ExploreViewContainer/index.tsx      |    6 +-
 .../ColorSchemeControl/ColorSchemeLabel.test.tsx   |   14 +
 .../ColorSchemeControl/ColorSchemeLabel.tsx        |    3 +
 .../ContourControl/ContourControl.test.tsx         |  128 +++
 .../controls/ContourControl/ContourOption.tsx      |    8 +-
 .../ContourControl/ContourPopoverControl.tsx       |   17 +-
 .../components/controls/JSEditorControl.test.tsx   |    9 +-
 .../components/controls/JSEditorControl.tsx        |   10 +-
 .../alerts/components/AlertStatusIcon.test.tsx     |   14 +
 .../features/alerts/components/AlertStatusIcon.tsx |    1 +
 .../semanticViews/AddSemanticViewModal.test.tsx    |  251 ++++-
 .../semanticViews/AddSemanticViewModal.tsx         |  121 ++-
 .../src/features/semanticViews/creationResult.ts   |   90 ++
 .../src/features/versionHistory/ActionRow.tsx      |    5 +-
 .../versionHistory/CurrentVersionSection.tsx       |   12 +-
 .../DashboardVersionHistory.test.tsx               |    4 +-
 .../features/versionHistory/SaveGroupItem.test.tsx |   88 +-
 .../src/features/versionHistory/SaveGroupItem.tsx  |   66 +-
 .../versionHistory/VersionHistoryPanel.test.tsx    |  107 +-
 .../versionHistory/VersionHistoryPanel.tsx         |   53 +-
 .../src/features/versionHistory/display.test.ts    |   28 +
 .../src/features/versionHistory/display.ts         |   28 +
 .../versionHistory/useVersionActivity.test.ts      |    4 +-
 superset-frontend/src/pages/ChartList/index.tsx    |    9 +-
 .../src/pages/DashboardList/index.tsx              |    3 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |   18 +-
 superset-frontend/src/utils/lazyWithRetry.test.tsx |  140 +++
 superset-frontend/src/utils/lazyWithRetry.ts       |  135 +++
 superset-frontend/src/views/routes.tsx             |   83 +-
 superset-websocket/package-lock.json               |  486 ++++-----
 superset-websocket/package.json                    |    4 +-
 superset/app.py                                    |    8 +-
 superset/charts/client_processing.py               |   41 +-
 superset/charts/filters.py                         |    8 +
 superset/cli/update.py                             |   17 -
 superset/commands/chart/create.py                  |    4 +
 superset/commands/chart/export.py                  |   34 +-
 superset/commands/chart/update.py                  |   19 +
 superset/commands/chart/utils.py                   |   39 +
 superset/commands/dashboard/export.py              |   51 +-
 superset/commands/export/assets.py                 |   75 +-
 superset/commands/export/models.py                 |   18 +-
 superset/commands/importers/v1/utils.py            |   24 +-
 superset/commands/report/base.py                   |   73 ++
 superset/commands/semantic_layer/create.py         |   11 +
 superset/common/tags.py                            |  496 ---------
 superset/config.py                                 |   49 +
 superset/connectors/sqla/utils.py                  |   49 +-
 superset/daos/dashboard.py                         |    7 +
 superset/dashboards/filters.py                     |    7 +
 superset/db_engine_specs/oceanbase.py              |   86 ++
 superset/jinja_context.py                          |    4 +-
 superset/mcp_service/app.py                        |    4 +-
 superset/mcp_service/chart/chart_helpers.py        |   23 +
 superset/mcp_service/chart/chart_utils.py          |   16 +-
 superset/mcp_service/chart/compile.py              |  176 +++-
 .../chart/prompts/create_chart_guided.py           |    4 +-
 .../mcp_service/chart/resources/chart_configs.py   |   14 +-
 superset/mcp_service/chart/schemas.py              |   91 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |  130 ++-
 .../mcp_service/chart/tool/get_chart_preview.py    |   10 +-
 superset/mcp_service/dashboard/layout_placement.py |   21 +-
 superset/mcp_service/dashboard/schemas.py          |  139 ++-
 .../dashboard/tool/apply_dashboard_filters.py      |   34 +-
 .../dashboard/tool/duplicate_dashboard.py          |   14 +-
 .../dashboard/tool/get_dashboard_data.py           |   96 +-
 superset/mcp_service/dashboard_scope_sql.py        |   18 +-
 superset/mcp_service/database/schemas.py           |    8 +-
 superset/mcp_service/dataset/schemas.py            |    9 +-
 .../dataset/tool/update_dataset_metric.py          |    2 +-
 superset/mcp_service/jwt_verifier.py               |   28 +-
 superset/mcp_service/middleware.py                 |   29 +-
 superset/mcp_service/report/schemas.py             |    4 +
 superset/mcp_service/tag/tool/get_tag_info.py      |    6 +-
 superset/mcp_service/tag/tool/list_tags.py         |    6 +-
 superset/mcp_service/utils/response_size_utils.py  |    4 +
 superset/mcp_service/utils/sanitization.py         |  114 ++-
 superset/mcp_service/utils/schema_utils.py         |   19 +
 superset/mcp_service/utils/validation.py           |   89 +-
 ...ep_legacy_password_view_perms_from_all_roles.py |  120 +++
 superset/models/core.py                            |    5 +-
 superset/models/helpers.py                         |   17 +-
 superset/reports/api.py                            |   15 +-
 superset/reports/filters.py                        |   37 +
 superset/security/password_change.py               |  101 +-
 superset/semantic_layers/api.py                    |   63 +-
 superset/semantic_layers/models.py                 |    3 +
 superset/tags/core.py                              |   98 +-
 superset/tags/models.py                            |  271 +----
 superset/translations/ar/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |   40 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/messages.pot                 |   67 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   36 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   36 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |   36 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/th/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   36 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   36 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   36 +-
 superset/utils/filters.py                          |  111 ++-
 superset/utils/pandas_postprocessing/compare.py    |   14 +-
 .../src/superset_e2e_semantic_stub/__init__.py     |   12 +-
 tests/integration_tests/charts/api_tests.py        |    8 +-
 tests/integration_tests/dashboards/api_tests.py    |   28 +-
 tests/integration_tests/tagging_tests.py           |  294 ------
 tests/integration_tests/tags/dao_tests.py          |   94 +-
 .../db_engine_specs/test_oceanbase.py              |   94 +-
 tests/unit_tests/charts/test_client_processing.py  |  188 ++++
 tests/unit_tests/charts/test_filters.py            |  110 ++
 tests/unit_tests/commands/chart/create_test.py     |  252 ++++-
 tests/unit_tests/commands/chart/export_test.py     |  576 +++++++++++
 tests/unit_tests/commands/chart/update_test.py     |  266 ++++-
 tests/unit_tests/commands/dashboard/export_test.py |    8 +-
 .../unit_tests/commands/importers/v1/utils_test.py |   92 +-
 tests/unit_tests/commands/report/base_test.py      |  239 +++++
 .../commands/semantic_layer/create_test.py         |   53 +-
 tests/unit_tests/connectors/sqla/utils_test.py     |   26 +
 .../dao/test_copy_dashboard_legacy_ids.py          |   30 +-
 .../dashboards/semantic_view_access_test.py        |  141 ++-
 tests/unit_tests/db_engine_specs/test_oceanbase.py |  228 +++++
 tests/unit_tests/db_engine_specs/test_trino.py     | 1052 +++++++++++++++++++-
 tests/unit_tests/importexport/api_test.py          |   69 +-
 tests/unit_tests/jinja_context_test.py             |   74 ++
 .../mcp_service/chart/test_bullet_tool_paths.py    |    3 +
 .../mcp_service/chart/test_chart_examples.py       |   48 +
 .../mcp_service/chart/test_chart_helpers.py        |   42 +
 .../mcp_service/chart/test_chart_schemas.py        |   21 +
 tests/unit_tests/mcp_service/chart/test_compile.py |  464 +++++++++
 .../test_review_query_and_preview_regressions.py   |    7 +-
 .../chart/test_time_grain_generic_axes.py          |  171 ++++
 .../mcp_service/chart/tool/test_get_chart_data.py  |  368 +++++++
 .../chart/tool/test_get_chart_preview.py           |   40 +
 .../common/test_list_scope_validation.py           |  105 ++
 .../dashboard/test_dashboard_schemas.py            |   39 +
 .../dashboard/tool/test_apply_dashboard_filters.py |   67 +-
 .../dashboard/tool/test_duplicate_dashboard.py     |   86 +-
 .../dashboard/tool/test_get_dashboard_data.py      |  507 ++++++++++
 .../dashboard/tool/test_list_dashboards.py         |   85 ++
 .../mcp_service/native_tool_inventory.json         |   90 +-
 .../mcp_service/test_browser_hello_middleware.py   |  126 +++
 .../mcp_service/test_dashboard_scope_sql.py        |   51 +
 tests/unit_tests/mcp_service/test_mcp_config.py    |    9 +
 .../mcp_service/test_mcp_tool_registration.py      |   23 +
 .../mcp_service/test_native_tool_surface.py        |   10 +-
 .../test_sanitization_warning_inputs.py            |  450 ++++++++-
 .../unit_tests/mcp_service/test_tool_inventory.py  |   21 +-
 .../mcp_service/test_validation_contract.py        |   40 +-
 .../mcp_service/utils/test_sanitization.py         |  163 +++
 .../test_sweep_legacy_password_view_perms.py       |  190 ++++
 tests/unit_tests/models/helpers_test.py            |  171 ++++
 .../pandas_postprocessing/test_compare.py          |  109 ++
 tests/unit_tests/reports/filters_test.py           |   53 +
 tests/unit_tests/security/test_password_change.py  |   63 ++
 .../unit_tests/security/test_password_recovery.py  |   12 +-
 tests/unit_tests/semantic_layers/api_test.py       |  262 ++++-
 .../semantic_layers/cache_policy_test.py           |    3 +-
 .../semantic_layers/e2e_stub_extension_test.py     |   42 +-
 .../semantic_layers/import_export_test.py          |    6 +-
 .../semantic_layers/metric_filter_test.py          |   72 +-
 .../unit_tests/sql/execution/test_async_results.py |    2 +
 tests/unit_tests/tags/race_test.py                 |  155 +--
 tests/unit_tests/utils/filters_test.py             |  260 ++++-
 283 files changed, 14687 insertions(+), 4262 deletions(-)
 create mode 100755 .github/workflows/scripts/check-code-scanning-available.sh
 create mode 100755 
.github/workflows/scripts/check-code-scanning-available.test.sh
 create mode 100644 docs/admin_docs/security/oauth.mdx
 copy docs/developer_docs/extensions/{contribution-types.md => 
extension-points/semantic-layers.md} (65%)
 delete mode 100644 docs/developer_docs/extensions/semantic-execution-context.md
 delete mode 100644 docs/developer_docs/extensions/semantic-filters.md
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/layers/Contour/Contour.test.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/ContourControl/ContourControl.test.tsx
 create mode 100644 
superset-frontend/src/features/semanticViews/creationResult.ts
 create mode 100644 superset-frontend/src/utils/lazyWithRetry.test.tsx
 create mode 100644 superset-frontend/src/utils/lazyWithRetry.ts
 delete mode 100644 superset/common/tags.py
 create mode 100644 
superset/migrations/versions/2026-09-30_00-00_d623a0cb6bb0_sweep_legacy_password_view_perms_from_all_roles.py
 delete mode 100644 tests/integration_tests/tagging_tests.py
 create mode 100644 tests/unit_tests/commands/chart/export_test.py
 create mode 100644 
tests/unit_tests/mcp_service/common/test_list_scope_validation.py
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_list_dashboards.py
 create mode 100644 
tests/unit_tests/mcp_service/test_browser_hello_middleware.py
 create mode 100644 
tests/unit_tests/migrations/test_sweep_legacy_password_view_perms.py

Reply via email to