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/06/02 23:54:43 UTC

(superset) branch fix/ag-grid-stateconversion-filter-validation updated (2831b57dfc4 -> eda7371a789)

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

rusackas pushed a change to branch fix/ag-grid-stateconversion-filter-validation
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 2831b57dfc4 fix(plugin-chart-ag-grid-table): validate filter values/operators in state converter
     add f17e4de9cd5 fix(superset-frontend): color formats big numbers when value is 0 (#28038)
     add f10a296ed02 chore(deps): bump nh3 from 0.2.21 to 0.3.5 (#40551)
     add dfa4dbb96c8 chore(deps-dev): update denodo-sqlalchemy requirement from <2.1.0,>=1.0.6 to >=2.0.5,<2.1.0 (#40550)
     add ab66f0066ad chore(deps-dev): update sqlalchemy-cratedb requirement from <1,>=0.40.1 to >=0.41.0,<1 (#40549)
     add 35125d85215 chore(deps-dev): bump syntaqlite from 0.1.0 to 0.5.9 (#40548)
     add afc4f3c9b3f fix(database): extend URI blocklist to cover duckdb dialect (#40402)
     add 8e47eb1cc19 docs(security): explicit security model, role/capability matrix, AGENTS.md linkage (#40503)
     add c7bbfff4759 fix(ci): gate welcome message on first-time contributor association (#40543)
     add 585745695c3 fix(chart): load viz_type from request params when creating chart via API (#40536)
     add 469979714f3 chore(deps): force serialize-javascript 7.0.5 in docs (#40540)
     add a340293fefe chore(deps): bump idna, Authlib, fontTools, python-ldap, virtualenv (#40560)
     add ab5ea1f7d3c chore(deps): force d3-color 3.1.0 in docs (#40541)
     add 7e8b8e25a5e chore(ci): resolve remaining GitHub Actions static-analysis findings (#40556)
     add 9a79588d359 feat(dashboard): add Rison-encoded URL filter support (#39795)
     add a6215203878 fix(ci): repair Python version extraction in uv-pip-compile.sh (#40565)
     add acc80242f05 chore: fix translations (#40564)
     add 63249c8c977 fix(chart): add regression coverage for UpdateChartCommand ownership (#39997)
     add a2eda11a81e fix(dataset): validate catalog against allow_multi_catalog on import (#40376)
     add d52e28c564b fix(dashboard): preserve user selection when Dynamic Group By overlaps base (#40031)
     add 316dd3db22b fix(dataset): sort by data type when clicking Datatype column header (#40411)
     add a33fcb0eddc feat: add embedded dashboard E2E tests to Playwright CI (#39300)
     add 041ecbc248c fix(embedded): resolve guest user permissions in user_view_menu_names (#39197)
     add 5312d0adf81 feat(mcp): add list_reports and get_report_info tools (#40348)
     add e1bc8e7ae8f chore(deps): bump uuid, qs, js-yaml, and @cypress/request in frontend lockfiles (#40561)
     add dab628c13af fix(i18n): auto-add ASF license header in backfill_po.py (#40395)
     add 97be689b5c4 fix(daos): lazy-import SoftDeleteMixin to fix pytest collection error (#40573)
     add 1523d797ca6 chore(deps-dev): bump pyinstrument from 4.4.0 to 5.1.2 (#40377)
     add 74d1c83ec52 ci: preserve PR translation updates during regression checks (#40581)
     add 2b8e31bf688 ci(docs): skip Netlify docs preview on PRs that don't touch docs (#40590)
     add bffc3fc58fa chore(deps-dev): bump @babel/eslint-parser from 7.28.6 to 7.29.7 in /superset-frontend (#40615)
     add f77fa3ae39c chore(deps-dev): bump @babel/plugin-transform-runtime from 7.29.0 to 7.29.7 in /superset-frontend (#40614)
     add efdfefeea26 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.59.4 to 8.60.0 in /superset-frontend (#40613)
     add aa8b474c58a chore(deps-dev): bump @babel/plugin-transform-export-namespace-from from 7.27.1 to 7.29.7 in /superset-frontend (#40611)
     add a06eb8fc781 chore(deps): bump react-arborist from 3.7.0 to 3.8.0 in /superset-frontend (#40610)
     add 8731974e5c4 chore(deps-dev): bump @babel/preset-react from 7.28.5 to 7.29.7 in /superset-frontend (#40609)
     add ce602fc5a8a chore(deps-dev): bump @babel/types from 7.29.0 to 7.29.7 in /superset-frontend (#40608)
     add 3f0fbbaac96 chore(deps-dev): update @babel/types requirement from ^7.29.0 to ^7.29.7 in /superset-frontend/plugins/plugin-chart-pivot-table (#40605)
     add 8beea849528 chore(deps-dev): bump @typescript-eslint/parser from 8.59.4 to 8.60.0 in /docs (#40600)
     add 70aa96458ac chore(deps-dev): bump @babel/cli from 7.28.6 to 7.29.7 in /superset-frontend (#40599)
     add f04221a06ca chore(deps-dev): bump webpack from 5.107.1 to 5.107.2 in /docs (#40597)
     add 986148d9244 chore(deps-dev): bump typescript-eslint from 8.59.4 to 8.60.0 in /superset-websocket (#40596)
     add 94092d2f720 chore(deps-dev): bump @babel/preset-typescript from 7.28.5 to 7.29.7 in /superset-frontend (#40604)
     add 41059c68bba chore(deps-dev): bump @babel/plugin-transform-modules-commonjs from 7.28.6 to 7.29.7 in /superset-frontend (#40603)
     add 861e668f743 chore(deps-dev): bump @babel/preset-env from 7.29.5 to 7.29.7 in /superset-frontend (#40601)
     add 41da35e9db0 chore(deps-dev): bump typescript-eslint from 8.59.4 to 8.60.0 in /docs (#40598)
     add 365914f1c76 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.59.4 to 8.60.0 in /superset-websocket (#40595)
     add c29591b3b1b chore(deps): update @babel/runtime requirement from ^7.29.2 to ^7.29.7 in /superset-frontend/packages/superset-ui-core (#40606)
     add a6d2c954803 chore(deps): migrate MCP service JWT errors from authlib.jose to joserfc (#40582)
     add 817a35f445d fix(mcp): deny deactivated user accounts in MCP authentication (#40631)
     add c6faa50338b fix(cli): encrypt sqlalchemy_uri password on import_datasources (#31983) (#40584)
     add 2abbb64e6bc feat(gsheets): restore public/private sheet selector (#40466)
     add e2ed9896399 fix(reports): skip permalink when dashboard state has no anchor or filters (#40530)
     add 052e567f775 fix: guard dynamic dispatch and bound a regex quantifier (#40547)
     add ca8855dc037 fix(mcp): generic auth errors, required token expiry, and safer auth logging (#40646)
     add aba6ea536cc fix(dashboard): prevent "undefined undefined" owner names in properties modal (#40528)
     add ddb647cd3ae fix(dashboard): clear undo history (#40569)
     add 88abd41c8b8 fix(sql-lab): prevent crash when host shell lacks useAppDispatch export (#40591)
     add 7275116f4cd fix(world-map): preserve bubbles and exclude only null metrics from color scale (#39926)
     add fc0245bdb06 fix(charts): show non-filterable columns in metric section for table … (#39524)
     add 699e741c69d fix(time-comparison): shift offset filter when X-axis is adhoc Custom SQL (#40586)
     add d26a7aac3dd fix(dashboard): hide Edit button in embedded dashboards (#40687)
     add 4996d7c277f fix: avoid warning spam when default spinner SVG is missing (#40481)
     add 093b43c7a58 fix(exports,email,logs): csv formula escaping, subject CRLF stripping, UTC log pruning (#40645)
     add 1632b235ae8 fix(sqllab): surface stacktrace in SQL Lab error responses (#28248) (#40585)
     add 24422c83114 test(histogram): metric filters require aggregation in buildQuery (#30330) (#40617)
     add 242c27a9743 test(presto): 401 Unauthorized must surface as CONNECTION_ACCESS_DENIED_ERROR (#33554) (#40618)
     add 1b8099811b8 fix(chart-list): sort by changed_on instead of last_saved_at (#39984)
     add d2d46169bf6 fix(explore): tighten popover title-to-tabs spacing to 12px (#40410)
     add 19c2b67d09a fix(websocket): validate last_id query param format (#40626)
     add 86fa5bb46f0 feat(table v2): agGridTableChart add row numer column (#39284)
     add 4d2b10d916e chore(excel): strip document metadata from Excel exports (#40661)
     add b97d3ef520b fix(api,sql): use json_response in Api.query and log dialect fallback (#40644)
     add 00dd31494d1 fix: sanitize URL sinks and trim sensitive log fields (#40546)
     add 616c2432780 fix(deps): revert joserfc JWT error migration — fastmcp still uses authlib (#40688)
     add 49f3dbba733 fix(dashboard): address post-approval review feedback on #40528 (#40685)
     add 8508af3201c chore(key_value): prune expired entries from the key-value store (#40663)
     add a9df2c7e5ea fix(mcp): address post-approval review feedback on auth logging PR #40646 (#40684)
     add 3e589436fa6 fix(reports): sanitize error text in email notification template (#40641)
     add 6eaee211aad fix(sqllab): require dataset match for raw query access (#40409)
     add 17d1a45bc94 feat(ydb): switch to native YDB sqlglot dialect (#40170)
     add 8c62f533d7c fix(core): restrict allowed CSS properties in sanitized HTML (#40627)
     add 6abee0289b8 fix(reports): guard SUCCESS-state report execution against duplicate sends and stuck WORKING state (#40657)
     add 9af6746dbe1 fix(models): HTML-escape data-controlled values in dashboard_link and Slice.icons (#40639)
     add a2a369cb5c8 fix(charts): sanitize tooltip HTML across nvd3, rose and partition plugins (#40502)
     add 3bbb35e8a33 ci(bashlib): drop the dead bc-based NONCE (perf + reliability) (#40691)
     add eda7371a789 Merge branch 'master' into fix/ag-grid-stateconversion-filter-validation

No new revisions were added by this update.

Summary of changes:
 .github/SECURITY.md                                |   75 -
 .github/actions/setup-backend/action.yml           |   33 +-
 .github/workflows/bashlib.sh                       |   20 +-
 .github/workflows/docker.yml                       |   11 +-
 .github/workflows/latest-release-tag.yml           |    6 +-
 .github/workflows/pre-commit.yml                   |    4 +-
 .github/workflows/showtime-trigger.yml             |    9 +-
 .github/workflows/superset-docs-deploy.yml         |    1 +
 .github/workflows/superset-docs-verify.yml         |    1 +
 .github/workflows/superset-e2e.yml                 |   11 +-
 .github/workflows/superset-helm-release.yml        |    8 +-
 .github/workflows/superset-playwright.yml          |   20 +
 .../workflows/superset-translations-comment.yml    |    1 +
 .github/workflows/superset-translations.yml        |   16 +-
 .github/workflows/tag-release.yml                  |    4 +
 .github/workflows/welcome-new-users.yml            |    2 +
 AGENTS.md                                          |   38 +
 SECURITY.md                                        |  145 +
 UPDATING.md                                        |   10 +
 .../pythonpath_dev/superset_config_docker_light.py |   31 +
 docs/netlify.toml                                  |   14 +-
 docs/package.json                                  |   10 +-
 docs/yarn.lock                                     |  203 +-
 pyproject.toml                                     |   14 +-
 requirements/base.txt                              |    4 +-
 requirements/development.txt                       |   16 +-
 scripts/translations/backfill_po.py                |   33 +
 .../translations/check_translation_regression.py   |   11 +-
 scripts/uv-pip-compile.sh                          |    7 +-
 superset-frontend/cypress-base/package-lock.json   |  498 +-
 superset-frontend/cypress-base/package.json        |    6 +
 superset-frontend/package-lock.json                | 1404 +++--
 superset-frontend/package.json                     |   24 +-
 .../packages/superset-core/package.json            |    8 +-
 .../superset-core/src/theme/GlobalStyles.tsx       |   15 +
 .../src/operators/boxplotOperator.ts               |    2 +-
 .../packages/superset-ui-core/package.json         |    3 +-
 .../src/components/ListViewCard/index.tsx          |    3 +-
 .../src/connection/SupersetClientClass.ts          |    3 +-
 .../superset-ui-core/src/utils/html.test.tsx       |   29 +
 .../packages/superset-ui-core/src/utils/html.tsx   |   46 +-
 .../superset-ui-core/test/utils/tooltip.test.ts    |   21 +-
 superset-frontend/playwright.config.ts             |   24 +
 .../playwright/components/core/EditableTabs.ts     |   18 +-
 .../components/modals/EditDatasetModal.ts          |   17 +
 .../playwright/embedded-app/index.html             |   95 +
 .../playwright/helpers/api/dashboard.ts            |   50 +-
 .../playwright/helpers/api/embedded.ts             |  133 +
 .../playwright/helpers/api/requests.ts             |  112 +-
 superset-frontend/playwright/helpers/navigation.ts |   57 +
 .../playwright/pages/ChartCreationPage.ts          |    3 +-
 .../playwright/pages/ChartListPage.ts              |    5 +-
 .../playwright/pages/CreateDatasetPage.ts          |    3 +-
 .../playwright/pages/DashboardListPage.ts          |    3 +-
 .../playwright/pages/DashboardPage.ts              |    5 +-
 .../playwright/pages/DatasetListPage.ts            |    3 +-
 superset-frontend/playwright/pages/EmbeddedPage.ts |  172 +
 superset-frontend/playwright/pages/SqlLabPage.ts   |   37 +-
 .../tests/embedded/embedded-dashboard.spec.ts      |  362 ++
 superset-frontend/playwright/utils/constants.ts    |   13 +
 .../legacy-plugin-chart-partition/src/Partition.ts |    3 +-
 .../plugins/legacy-plugin-chart-rose/src/Rose.ts   |   13 +-
 .../legacy-plugin-chart-world-map/src/WorldMap.ts  |    5 +-
 .../test/WorldMap.test.ts                          |   57 +-
 .../plugins/legacy-preset-chart-nvd3/src/utils.ts  |   33 +-
 .../legacy-preset-chart-nvd3/test/utils.test.ts    |   95 +
 .../src/AgGridTableChart.tsx                       |    4 +
 .../plugin-chart-ag-grid-table/src/consts.ts       |    2 +
 .../src/controlPanel.tsx                           |   18 +-
 .../src/styles/index.tsx                           |    6 +
 .../src/transformProps.ts                          |    2 +
 .../plugin-chart-ag-grid-table/src/types.ts        |    2 +
 .../src/utils/useColDefs.ts                        |   69 +-
 .../test/controlPanel.test.tsx                     |   71 +
 .../test/utils/useColDefs.test.ts                  |  240 +
 .../src/BigNumber/BigNumberViz.test.tsx            |   85 +
 .../src/BigNumber/BigNumberViz.tsx                 |    7 +-
 .../src/Histogram/buildQuery.ts                    |   15 +-
 .../test/Histogram/buildQuery.test.ts              |   81 +
 .../src/plugin/controls/columns.tsx                |    8 +-
 .../src/plugin/controls/metrics.tsx                |    8 +-
 .../plugins/plugin-chart-pivot-table/package.json  |    2 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    6 +-
 .../plugin-chart-table/test/controlPanel.test.tsx  |   71 +
 .../src/SqlLab/components/EditorAutoSync/index.tsx |    2 +-
 .../src/SqlLab/components/EditorWrapper/index.tsx  |    2 +-
 .../SqlLab/components/EditorWrapper/useKeywords.ts |    2 +-
 .../components/ExploreCtasResultsButton/index.tsx  |    2 +-
 .../src/SqlLab/components/PopEditorTab/index.tsx   |    2 +-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |    2 +-
 .../SqlLab/components/QueryLimitSelect/index.tsx   |    2 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |    2 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |    5 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |    9 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |    2 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    2 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |    2 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |    2 +-
 .../SqlEditorTopBar/useDatabaseSelector.ts         |    2 +-
 .../src/SqlLab/components/TableElement/index.tsx   |    2 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |    2 +-
 .../components/TableExploreTree/useTreeData.ts     |    2 +-
 .../src/SqlLab/components/TablePreview/index.tsx   |    2 +-
 .../index.tsx => SqlLab/hooks/useAppDispatch.ts}   |   23 +-
 .../types.ts => SqlLab/hooks/useAppSelector.ts}    |   10 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |    3 +-
 .../src/components/GenericLink/index.tsx           |    4 +-
 .../dashboard/components/Header/Header.test.tsx    |   15 +
 .../src/dashboard/components/Header/index.tsx      |    3 +-
 .../dashboard/components/PropertiesModal/index.tsx |   20 +-
 .../PropertiesModal/sections/AccessSection.tsx     |    6 +-
 .../components/PropertiesModal/utils.test.ts       |   90 +
 .../dashboard/components/PropertiesModal/utils.ts  |   81 +
 .../nativeFilters/FilterBar/Horizontal.tsx         |  137 +-
 .../FilterBar/HorizontalFilterBar.test.tsx         |    1 +
 .../UrlFilterTag.tsx}                              |   44 +-
 .../FilterBar/UrlFilters/Vertical.test.tsx         |  139 +
 .../FilterBar/UrlFilters/Vertical.tsx              |   96 +
 .../FilterBar/UrlFilters/VerticalCollapse.tsx      |  131 +
 .../FilterBar/UrlFilters/urlFilterUtils.ts         |   71 +
 .../nativeFilters/FilterBar/Vertical.tsx           |    2 +
 .../components/nativeFilters/FilterBar/index.tsx   |   17 +-
 .../dashboard/containers/DashboardPage.test.tsx    |   35 +
 .../src/dashboard/containers/DashboardPage.tsx     |   71 +
 .../src/dashboard/util/UrlFilters.scope.test.ts    |  110 +
 .../util/charts/getFormDataWithExtraFilters.ts     |    4 +-
 .../util/getFormDataWithExtraFilters.test.ts       |  105 +-
 .../src/dashboard/util/risonFilters.test.ts        |  411 ++
 .../src/dashboard/util/risonFilters.ts             |  569 ++
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   53 +-
 .../controls/ControlPopover/ControlPopover.tsx     |    1 +
 .../DatabaseConnectionForm.test.tsx                |   85 +
 .../DatabaseConnectionForm/EncryptedField.test.tsx |  148 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |   68 +-
 .../OAuth2ClientField.test.tsx                     |   82 +
 .../DatabaseConnectionForm/OAuth2ClientField.tsx   |   78 +-
 .../DatabaseConnectionForm/TableCatalog.test.tsx   |   87 +
 .../DatabaseConnectionForm/TableCatalog.tsx        |   18 +-
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |  112 +-
 .../databases/DatabaseModal/SqlAlchemyForm.tsx     |    5 +-
 .../databases/DatabaseModal/index.test.tsx         |  116 +
 .../src/features/databases/DatabaseModal/index.tsx |   54 +-
 .../src/features/databases/DatabaseModal/styles.ts |   11 +-
 superset-frontend/src/features/databases/types.ts  |    4 +
 .../AddDataset/DatasetPanel/DatasetPanel.test.tsx  |   23 +
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |    2 +-
 superset-frontend/src/middleware/asyncEvent.ts     |    7 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |    5 +-
 superset-frontend/src/pages/ChartList/index.tsx    |    4 +-
 superset-frontend/src/utils/getOwnerName.test.ts   |   12 +
 superset-frontend/src/utils/getOwnerName.ts        |    5 +-
 superset-frontend/src/utils/navigationUtils.ts     |   11 +-
 superset-websocket/package-lock.json               |  260 +-
 superset-websocket/package.json                    |    6 +-
 superset-websocket/spec/index.test.ts              |   54 +
 superset-websocket/src/index.ts                    |   19 +-
 superset/commands/chart/create.py                  |    8 +
 superset/commands/dataset/importers/v0.py          |   18 +-
 superset/commands/dataset/importers/v1/__init__.py |   15 +-
 superset/commands/dataset/importers/v1/utils.py    |   32 +
 superset/commands/logs/prune.py                    |    5 +-
 superset/commands/report/execute.py                |   83 +-
 superset/config.py                                 |    7 +
 superset/constants.py                              |    2 +
 superset/daos/base.py                              |    6 +-
 superset/daos/database.py                          |    3 +-
 superset/daos/key_value.py                         |   32 +
 superset/daos/report.py                            |   50 +-
 superset/db_engine_specs/presto.py                 |    6 +
 superset/db_engine_specs/ydb.py                    |    2 +-
 superset/extensions/metadb.py                      |   11 +-
 .../key_value/commands}/__init__.py                |    0
 superset/key_value/commands/prune.py               |  143 +
 superset/mcp_service/app.py                        |    8 +
 superset/mcp_service/auth.py                       |   70 +-
 superset/mcp_service/chart/validation/pipeline.py  |    6 +-
 superset/mcp_service/common/schema_discovery.py    |   95 +
 superset/mcp_service/constants.py                  |    2 +-
 superset/mcp_service/jwt_verifier.py               |   61 +-
 superset/mcp_service/mcp_core.py                   |   55 +-
 superset/mcp_service/middleware.py                 |    3 +-
 superset/mcp_service/privacy.py                    |    5 +-
 .../mcp_service/report}/__init__.py                |    0
 superset/mcp_service/{theme => report}/schemas.py  |  198 +-
 .../mcp_service/{tag => report}/tool/__init__.py   |    8 +-
 .../tool/get_report_info.py}                       |   81 +-
 superset/mcp_service/report/tool/list_reports.py   |  172 +
 superset/mcp_service/storage.py                    |    4 +-
 superset/mcp_service/system/tool/get_schema.py     |   38 +-
 superset/mcp_service/utils/error_sanitization.py   |   44 +-
 superset/models/dashboard.py                       |    5 +-
 superset/models/helpers.py                         |   19 +-
 superset/models/slice.py                           |    8 +-
 superset/models/sql_lab.py                         |   10 +-
 superset/reports/notifications/email.py            |    8 +-
 superset/security/analytics_db_safety.py           |    4 +
 superset/security/manager.py                       |  145 +-
 superset/sql/execution/celery_task.py              |    6 +-
 superset/sql/parse.py                              |   31 +-
 superset/sql_lab.py                                |    6 +-
 superset/sqllab/validators.py                      |    6 +-
 superset/tasks/scheduler.py                        |   16 +
 .../templates/superset}/loading.svg                |  Bin
 superset/translations/ar/LC_MESSAGES/messages.po   | 1794 +++++-
 superset/translations/ca/LC_MESSAGES/messages.po   | 1761 +++++-
 superset/translations/cs/LC_MESSAGES/messages.po   | 2406 +++++---
 superset/translations/de/LC_MESSAGES/messages.po   | 1768 +++++-
 superset/translations/en/LC_MESSAGES/messages.po   | 1503 ++++-
 superset/translations/es/LC_MESSAGES/messages.po   | 5548 +++++++++++-------
 superset/translations/fa/LC_MESSAGES/messages.po   | 1748 +++++-
 superset/translations/fi/LC_MESSAGES/messages.po   | 5890 +++++++++++++-------
 superset/translations/fr/LC_MESSAGES/messages.po   | 1807 +++++-
 superset/translations/it/LC_MESSAGES/messages.po   | 1682 +++++-
 superset/translations/ja/LC_MESSAGES/messages.po   | 2469 +++++---
 superset/translations/ko/LC_MESSAGES/messages.po   | 1681 +++++-
 superset/translations/lv/LC_MESSAGES/messages.po   | 1729 +++++-
 superset/translations/messages.pot                 | 1459 ++++-
 superset/translations/mi/LC_MESSAGES/messages.po   | 1752 +++++-
 superset/translations/nl/LC_MESSAGES/messages.po   | 1762 +++++-
 superset/translations/pl/LC_MESSAGES/messages.po   | 1764 +++++-
 superset/translations/pt/LC_MESSAGES/messages.po   | 1708 +++++-
 .../translations/pt_BR/LC_MESSAGES/messages.po     | 5432 +++++++++++-------
 superset/translations/ru/LC_MESSAGES/messages.po   | 1812 +++++-
 superset/translations/sk/LC_MESSAGES/messages.po   | 5602 +++++++++++++++----
 superset/translations/sl/LC_MESSAGES/messages.po   | 1774 +++++-
 superset/translations/th/LC_MESSAGES/messages.po   | 5133 +++++++++++------
 superset/translations/tr/LC_MESSAGES/messages.po   | 1645 +++++-
 superset/translations/uk/LC_MESSAGES/messages.po   | 2151 +++++--
 superset/translations/zh/LC_MESSAGES/messages.po   | 1723 +++++-
 .../translations/zh_TW/LC_MESSAGES/messages.po     | 1723 +++++-
 superset/utils/core.py                             |    3 +
 superset/utils/csv.py                              |    7 +-
 superset/utils/excel.py                            |   24 +
 superset/utils/rison_filters.py                    |  274 +
 superset/views/api.py                              |    2 +-
 superset/views/base.py                             |   45 +-
 .../commands/execute_dashboard_report_tests.py     |    4 +-
 .../security/analytics_db_safety_tests.py          |   20 +
 tests/integration_tests/security_tests.py          |  250 +
 tests/integration_tests/sqllab_tests.py            |   34 +-
 tests/integration_tests/superset_test_config.py    |    1 +
 tests/unit_tests/commands/chart/update_test.py     |   93 +
 .../unit_tests/commands/logs}/__init__.py          |    0
 tests/unit_tests/commands/logs/prune_test.py       |   54 +
 tests/unit_tests/commands/report/execute_test.py   |  128 +-
 .../common/test_query_context_processor.py         |   95 +
 .../databases/commands/importers/v1/import_test.py |  150 +
 .../datasets/commands/importers/v1/import_test.py  |  231 +
 tests/unit_tests/db_engine_specs/test_presto.py    |   24 +
 tests/unit_tests/key_value/prune_test.py           |  168 +
 .../unit_tests/mcp_service/report}/__init__.py     |    0
 .../mcp_service/report/tool}/__init__.py           |    0
 .../mcp_service/report/tool/test_report_tools.py   |  739 +++
 .../mcp_service/system/tool/test_get_schema.py     |   53 +
 .../mcp_service/system/tool/test_mcp_core.py       |   12 +-
 tests/unit_tests/mcp_service/test_auth_api_key.py  |    6 +-
 .../mcp_service/test_auth_user_resolution.py       |   70 +-
 tests/unit_tests/mcp_service/test_jwt_verifier.py  |   66 +-
 tests/unit_tests/mcp_service/test_middleware.py    |    6 +-
 .../mcp_service/utils/test_error_sanitization.py   |   70 +
 tests/unit_tests/models/dashboard_test.py          |   52 +
 tests/unit_tests/models/slice_test.py              |   25 +-
 .../reports/notifications/email_tests.py           |   35 +
 .../scripts/translations/backfill_po_test.py       |   33 +
 tests/unit_tests/security/manager_test.py          |   72 +
 tests/unit_tests/sql/execution/test_celery_task.py |   60 +
 tests/unit_tests/sql/parse_tests.py                |   44 +
 tests/unit_tests/test_sqllab_error_stacktrace.py   |  282 +
 tests/unit_tests/utils/csv_tests.py                |   40 +
 tests/unit_tests/utils/excel_tests.py              |   37 +-
 tests/unit_tests/utils/profiler_test.py            |   74 +
 tests/unit_tests/utils/test_core.py                |   41 +
 tests/unit_tests/utils/test_rison_filters.py       |  183 +
 tests/unit_tests/views/test_base.py                |   34 +
 tests/unit_tests/views/test_base_theme_helpers.py  |   56 +-
 275 files changed, 64368 insertions(+), 16503 deletions(-)
 delete mode 100644 .github/SECURITY.md
 create mode 100644 SECURITY.md
 create mode 100644 superset-frontend/playwright/embedded-app/index.html
 create mode 100644 superset-frontend/playwright/helpers/api/embedded.ts
 create mode 100644 superset-frontend/playwright/helpers/navigation.ts
 create mode 100644 superset-frontend/playwright/pages/EmbeddedPage.ts
 create mode 100644 superset-frontend/playwright/tests/embedded/embedded-dashboard.spec.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberViz.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Histogram/buildQuery.test.ts
 copy superset-frontend/src/{components/TimePicker/index.tsx => SqlLab/hooks/useAppDispatch.ts} (61%)
 copy superset-frontend/src/{components/FacePile/types.ts => SqlLab/hooks/useAppSelector.ts} (73%)
 create mode 100644 superset-frontend/src/dashboard/components/PropertiesModal/utils.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/PropertiesModal/utils.ts
 copy superset-frontend/src/dashboard/components/nativeFilters/FilterBar/{CrossFilters/CrossFilterTag.tsx => UrlFilters/UrlFilterTag.tsx} (63%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/UrlFilters/Vertical.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/UrlFilters/Vertical.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/UrlFilters/VerticalCollapse.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/UrlFilters/urlFilterUtils.ts
 create mode 100644 superset-frontend/src/dashboard/util/UrlFilters.scope.test.ts
 create mode 100644 superset-frontend/src/dashboard/util/risonFilters.test.ts
 create mode 100644 superset-frontend/src/dashboard/util/risonFilters.ts
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/DatabaseConnectionForm.test.tsx
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/TableCatalog.test.tsx
 copy {superset-core/src/superset_core/common => superset/key_value/commands}/__init__.py (100%)
 create mode 100644 superset/key_value/commands/prune.py
 copy {superset-core/src/superset_core/common => superset/mcp_service/report}/__init__.py (100%)
 copy superset/mcp_service/{theme => report}/schemas.py (58%)
 copy superset/mcp_service/{tag => report}/tool/__init__.py (86%)
 copy superset/mcp_service/{query/tool/get_query_info.py => report/tool/get_report_info.py} (51%)
 create mode 100644 superset/mcp_service/report/tool/list_reports.py
 copy {superset-frontend/packages/superset-ui-core/src/components/assets/images => superset/templates/superset}/loading.svg (100%)
 create mode 100644 superset/utils/rison_filters.py
 create mode 100644 tests/unit_tests/commands/chart/update_test.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/commands/logs}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/logs/prune_test.py
 create mode 100644 tests/unit_tests/key_value/prune_test.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/report}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/report/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/report/tool/test_report_tools.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_error_sanitization.py
 create mode 100644 tests/unit_tests/models/dashboard_test.py
 create mode 100644 tests/unit_tests/test_sqllab_error_stacktrace.py
 create mode 100644 tests/unit_tests/utils/profiler_test.py
 create mode 100644 tests/unit_tests/utils/test_rison_filters.py