You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ms...@apache.org on 2026/06/01 20:23:49 UTC
(superset) branch msyavuz/chore/react-18.3-bump updated (838c4f13848 -> ba87f127af0)
This is an automated email from the ASF dual-hosted git repository.
msyavuz pushed a change to branch msyavuz/chore/react-18.3-bump
in repository https://gitbox.apache.org/repos/asf/superset.git
from 838c4f13848 chore(deps): sync package-lock for d3-cloud ^1.2.9
add b2320820b4a feat(core): SoftDeleteMixin and restore infrastructure (#39977)
add 8f88bbcc796 chore(deps-dev): bump @swc/core from 1.15.33 to 1.15.40 in /superset-frontend (#40519)
add 63ae80ab623 chore(deps-dev): bump baseline-browser-mapping from 2.10.31 to 2.10.32 in /superset-frontend (#40518)
add e1948c87c6d chore(deps-dev): bump webpack-sources from 3.4.1 to 3.5.0 in /superset-frontend (#40517)
add cf9ee99b5ae chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.10.1 to 0.10.2 in /superset-frontend (#40516)
add 61cb0aeae74 chore(deps): bump @swc/core from 1.15.33 to 1.15.40 in /docs (#40515)
add c3bda6baea9 chore(deps): bump fs-extra from 11.3.2 to 11.3.5 in /superset-frontend (#40487)
add ead21d9789d chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#40486)
add 661ff31c6d5 chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in /superset-frontend (#40485)
add 63e3a18e8f4 chore(deps): bump baseline-browser-mapping from 2.10.31 to 2.10.32 in /docs (#40484)
add ae5823fb9c2 chore(deps-dev): bump tmp from 0.2.5 to 0.2.7 in /superset-frontend (#40480)
add e73d2d0bf60 chore(deps): bump tmp from 0.2.4 to 0.2.7 in /superset-frontend/cypress-base (#40476)
add 53e2793bc3c fix: coerce out-of-bounds nanosecond timestamps to NaT instead of raising (#40127)
add f614863ed78 feat(mcp): add list and get tools for annotation layers and annotations (#40342)
add a69bbcb044c feat(mcp): add list and get tools for saved queries and query history (#40346)
add 8d8eeb35053 feat(mcp): add list_tags and get_tag_info MCP tools (#40349)
add b8ea4448d69 feat(ci): perform static security analysis for GHA workflows (#40510)
add 40de44f6de6 feat(mcp): add list and get tools for action log and tasks (#40344)
add 43c3c06035f chore(deps): bump vm2 from 3.11.3 to 3.11.5 in /superset-frontend (#40529)
add 62b4ee3d9e0 feat(mcp): add list and get tools for users and roles (#40345)
add 16b56873b02 fix(ci): restrict workflow_run jobs to trusted origins and add zizmor audit (#40533)
add f0838353a5a feat(i18n): add Czech (cs) locale support for dates (#40241)
add c9136af8b6d fix(ci): trigger python dep check when pyproject.toml changes (#39792)
add d350792d438 feat(mcp): add list and get tools for CSS templates and themes (#40343)
add 44a8d9d4695 chore(deps): pin lodash, lodash-es, and yaml in docs to patched releases (#40535)
add 8c6271e9ff8 chore(deps): bump urllib3, Mako, and python-multipart for high-severity CVEs (#40534)
add f165c3fa786 fix(ci): grant security-events write to GHA validator workflow (#40539)
add 7f54b0b13d0 test(database): regression test for sqla engine creation (#27897) (#40237)
add 838ee27c299 chore(deps): bump protobuf to 5.29.6 and google-cloud-bigquery-storage to 2.26.0 (#40537)
add fa4e571db5d chore(deps): force uuid 11.1.1 in docs (#40542)
add f4787a4f252 chore(deps): bump ws to 8.20.1 in docs (#40538)
add 2e7bec3646c chore(ci): harden GitHub Actions workflows per static analysis (#40545)
add 2d6e68b5f29 fix(ci): remove deprecated ephemeral env workflows + resolve fixable GHA-related security issues (#40121)
add 4d95a8d0348 feat(listview): compact filter pills with popover for CRUD views (#40169)
add 87be424f9c4 feat(mcp): add list and get tools for row level security and plugins (#40347)
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 ba87f127af0 Merge remote-tracking branch 'origin/master' into msyavuz/chore/react-18.3-bump
No new revisions were added by this update.
Summary of changes:
.github/SECURITY.md | 75 -
.github/actions/setup-backend/action.yml | 35 +-
.github/actions/setup-supersetbot/action.yml | 1 +
.github/dependabot.yml | 60 +-
.github/workflows/bashlib.sh | 16 +-
.github/workflows/cancel_duplicates.yml | 43 -
.github/workflows/check_db_migration_confict.yml | 2 +
.github/workflows/claude.yml | 4 +
.github/workflows/codeql-analysis.yml | 2 +
.github/workflows/dependency-review.yml | 4 +
.github/workflows/docker.yml | 11 +-
.github/workflows/embedded-sdk-release.yml | 2 +
.github/workflows/embedded-sdk-test.yml | 2 +
.github/workflows/ephemeral-env-pr-close.yml | 83 -
.github/workflows/ephemeral-env.yml | 350 --
.github/workflows/github-action-validator.yml | 17 +-
.github/workflows/labeler.yml | 2 +-
.github/workflows/latest-release-tag.yml | 4 +-
.github/workflows/pre-commit.yml | 4 +-
.github/workflows/release.yml | 6 +
.github/workflows/showtime-trigger.yml | 9 +-
.github/workflows/superset-docs-deploy.yml | 12 +-
.github/workflows/superset-docs-verify.yml | 9 +-
.github/workflows/superset-e2e.yml | 11 +-
.github/workflows/superset-extensions-cli.yml | 2 +-
.github/workflows/superset-frontend.yml | 5 +-
.github/workflows/superset-helm-release.yml | 8 +-
.github/workflows/superset-playwright.yml | 20 +
.../workflows/superset-python-integrationtest.yml | 6 +-
.github/workflows/superset-python-presto-hive.yml | 4 +-
.github/workflows/superset-python-unittest.yml | 2 +-
.../workflows/superset-translations-comment.yml | 1 +
.github/workflows/superset-translations.yml | 6 +-
.github/workflows/tag-release.yml | 17 +-
.github/workflows/tech-debt.yml | 2 +
.github/workflows/welcome-new-users.yml | 4 +-
.pre-commit-config.yaml | 11 +
AGENTS.md | 38 +
Dockerfile | 2 +-
SECURITY.md | 145 +
UPDATING.md | 6 +
.../pythonpath_dev/superset_config_docker_light.py | 31 +
docs/package.json | 12 +-
docs/yarn.lock | 220 +-
pyproject.toml | 10 +-
requirements/base.txt | 8 +-
requirements/development.txt | 25 +-
scripts/change_detector.py | 3 +-
scripts/oxlint.sh | 2 +-
scripts/translations/backfill_po.py | 33 +
scripts/uv-pip-compile.sh | 7 +-
superset-frontend/cypress-base/package-lock.json | 510 +-
superset-frontend/cypress-base/package.json | 6 +
superset-frontend/package-lock.json | 314 +-
superset-frontend/package.json | 9 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-ui-core/package.json | 2 +-
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 +
.../src/BigNumber/BigNumberViz.test.tsx | 85 +
.../src/BigNumber/BigNumberViz.tsx | 7 +-
superset-frontend/spec/helpers/testing-library.tsx | 30 +
.../src/components/Chart/chartAction.ts | 7 +-
.../components/ListView/CardSortSelect.test.tsx | 102 +
.../src/components/ListView/CardSortSelect.tsx | 76 +-
.../ListView/Filters/CompactFilterTrigger.test.tsx | 145 +
.../ListView/Filters/CompactFilterTrigger.tsx | 198 +
.../ListView/Filters/CompactSelectPanel.test.tsx | 339 ++
.../ListView/Filters/CompactSelectPanel.tsx | 318 ++
.../src/components/ListView/Filters/DateRange.tsx | 112 -
.../ListView/Filters/FilterPopoverContent.test.tsx | 80 +
.../ListView/Filters/FilterPopoverContent.tsx | 74 +
.../components/ListView/Filters/Select.test.tsx | 267 -
.../src/components/ListView/Filters/Select.tsx | 154 -
.../components/ListView/Filters/TimeRange.test.tsx | 251 +
.../src/components/ListView/Filters/TimeRange.tsx | 291 +
.../src/components/ListView/Filters/index.test.tsx | 335 +-
.../src/components/ListView/Filters/index.tsx | 385 +-
.../src/components/ListView/ListView.test.tsx | 21 +-
.../src/components/ListView/ListView.tsx | 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 +-
.../src/dashboard/containers/DashboardPage.tsx | 69 +
.../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 ++
.../AddDataset/DatasetPanel/DatasetPanel.test.tsx | 23 +
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 2 +-
superset-frontend/src/hooks/useLocale.ts | 2 +
.../src/pages/ChartList/ChartList.test.tsx | 9 +-
.../DashboardList/DashboardList.cardview.test.tsx | 16 +-
.../src/pages/DashboardList/DashboardList.test.tsx | 8 +-
.../DatasetList/DatasetList.integration.test.tsx | 6 +-
.../DatasetList/DatasetList.listview.test.tsx | 23 +-
.../src/pages/DatasetList/DatasetList.test.tsx | 7 +-
.../src/pages/GroupsList/GroupsList.test.tsx | 16 +-
.../src/pages/RolesList/RolesList.test.tsx | 7 +-
.../RowLevelSecurityList.test.tsx | 9 +-
.../src/pages/UsersList/UsersList.test.tsx | 20 +-
superset/commands/chart/create.py | 8 +
superset/commands/dataset/importers/v1/__init__.py | 15 +-
superset/commands/dataset/importers/v1/utils.py | 71 +-
superset/commands/importers/v1/utils.py | 47 +
superset/commands/restore.py | 98 +
superset/constants.py | 3 +
superset/daos/base.py | 92 +-
superset/daos/database.py | 8 +-
superset/daos/report.py | 50 +-
superset/daos/{security.py => role.py} | 11 +-
superset/initialization/__init__.py | 24 +
.../mcp_service/action_log}/__init__.py | 0
superset/mcp_service/action_log/schemas.py | 302 +
.../{database => action_log}/tool/__init__.py | 8 +-
.../action_log/tool/get_action_log_info.py | 97 +
.../action_log/tool/list_action_logs.py | 152 +
.../mcp_service/annotation_layer}/__init__.py | 0
superset/mcp_service/annotation_layer/schemas.py | 367 ++
.../{explore => annotation_layer}/tool/__init__.py | 17 +-
.../tool/get_annotation_layer_info.py | 97 +
.../tool/get_layer_annotation_info.py | 130 +
.../tool/list_annotation_layers.py | 123 +
.../tool/list_layer_annotations.py | 144 +
superset/mcp_service/app.py | 157 +-
superset/mcp_service/chart/schemas.py | 17 +-
superset/mcp_service/common/schema_discovery.py | 174 +
superset/mcp_service/constants.py | 4 +-
.../mcp_service/css_template}/__init__.py | 0
superset/mcp_service/css_template/schemas.py | 280 +
.../{database => css_template}/tool/__init__.py | 8 +-
.../css_template/tool/get_css_template_info.py | 108 +
.../css_template/tool/list_css_templates.py | 150 +
superset/mcp_service/dashboard/schemas.py | 13 +-
.../dashboard/tool/generate_dashboard.py | 6 +-
superset/mcp_service/database/schemas.py | 14 +-
superset/mcp_service/dataset/schemas.py | 13 +-
superset/mcp_service/mcp_core.py | 62 +-
.../mcp_service/plugin}/__init__.py | 0
.../{daos/css.py => mcp_service/plugin/dao.py} | 5 +-
superset/mcp_service/plugin/schemas.py | 213 +
.../plugin/tool}/__init__.py | 7 +-
.../mcp_service/plugin/tool/get_plugin_info.py | 101 +
superset/mcp_service/plugin/tool/list_plugins.py | 123 +
superset/mcp_service/privacy.py | 7 +-
.../mcp_service/query}/__init__.py | 0
superset/mcp_service/query/schemas.py | 293 +
.../query/tool}/__init__.py | 7 +-
superset/mcp_service/query/tool/get_query_info.py | 122 +
superset/mcp_service/query/tool/list_queries.py | 156 +
.../mcp_service/report}/__init__.py | 0
.../mcp_service/{database => report}/schemas.py | 224 +-
.../report/tool}/__init__.py | 7 +-
.../mcp_service/report/tool/get_report_info.py | 127 +
superset/mcp_service/report/tool/list_reports.py | 172 +
.../mcp_service/rls}/__init__.py | 0
superset/mcp_service/rls/schemas.py | 255 +
.../mcp_service/{database => rls}/tool/__init__.py | 8 +-
.../mcp_service/rls/tool/get_rls_filter_info.py | 101 +
superset/mcp_service/rls/tool/list_rls_filters.py | 147 +
.../mcp_service/role}/__init__.py | 0
superset/mcp_service/role/schemas.py | 264 +
.../role/tool}/__init__.py | 7 +-
superset/mcp_service/role/tool/get_role_info.py | 97 +
superset/mcp_service/role/tool/list_roles.py | 135 +
.../mcp_service/saved_query}/__init__.py | 0
superset/mcp_service/saved_query/schemas.py | 269 +
.../{database => saved_query}/tool/__init__.py | 8 +-
.../saved_query/tool/get_saved_query_info.py | 129 +
.../saved_query/tool/list_saved_queries.py | 158 +
superset/mcp_service/system/tool/get_schema.py | 128 +-
.../mcp_service/tag}/__init__.py | 0
superset/mcp_service/tag/schemas.py | 251 +
.../execution => mcp_service/tag/tool}/__init__.py | 8 +-
superset/mcp_service/tag/tool/get_tag_info.py | 108 +
superset/mcp_service/tag/tool/list_tags.py | 157 +
.../mcp_service/task}/__init__.py | 0
superset/mcp_service/task/schemas.py | 259 +
.../task/tool}/__init__.py | 7 +-
superset/mcp_service/task/tool/get_task_info.py | 107 +
superset/mcp_service/task/tool/list_tasks.py | 140 +
.../mcp_service/theme}/__init__.py | 0
superset/mcp_service/theme/schemas.py | 305 +
.../theme/tool}/__init__.py | 7 +-
superset/mcp_service/theme/tool/get_theme_info.py | 116 +
superset/mcp_service/theme/tool/list_themes.py | 147 +
.../mcp_service/user}/__init__.py | 0
superset/mcp_service/user/schemas.py | 302 +
.../user/tool}/__init__.py | 7 +-
superset/mcp_service/user/tool/get_user_info.py | 107 +
superset/mcp_service/user/tool/list_users.py | 151 +
superset/mcp_service/utils/response_utils.py | 11 +
superset/mcp_service/utils/sanitization.py | 12 +-
superset/models/core.py | 71 +-
superset/models/helpers.py | 266 +-
superset/result_set.py | 4 +-
superset/security/analytics_db_safety.py | 4 +
superset/security/manager.py | 61 +-
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/rison_filters.py | 274 +
superset/views/filters.py | 213 +-
.../security/analytics_db_safety_tests.py | 20 +
tests/integration_tests/superset_test_config.py | 1 +
tests/unit_tests/commands/chart/update_test.py | 93 +
.../importers/v1/test_find_existing_for_import.py | 180 +
.../unit_tests/commands/importers/v1/utils_test.py | 119 +
.../commands/test_base_restore_command.py | 187 +
tests/unit_tests/dao/base_dao_test.py | 7 +
tests/unit_tests/daos/test_base_dao_soft_delete.py | 100 +
.../datasets/commands/importers/v1/import_test.py | 231 +
.../unit_tests/mcp_service/action_log}/__init__.py | 0
.../mcp_service/action_log/tool}/__init__.py | 0
.../action_log/tool/test_action_log_tools.py | 401 ++
.../mcp_service/annotation_layer}/__init__.py | 0
.../mcp_service/annotation_layer/tool}/__init__.py | 0
.../tool/test_annotation_layer_tools.py | 562 ++
.../mcp_service/css_template}/__init__.py | 0
.../mcp_service/css_template/tool}/__init__.py | 0
.../css_template/tool/test_css_template_tools.py | 280 +
.../unit_tests/mcp_service/plugin}/__init__.py | 0
.../mcp_service/plugin/tool}/__init__.py | 0
.../mcp_service/plugin/tool/test_plugin_tools.py | 172 +
.../unit_tests/mcp_service/query}/__init__.py | 0
.../unit_tests/mcp_service/query/tool}/__init__.py | 0
.../mcp_service/query/tool/test_query_tools.py | 328 ++
.../unit_tests/mcp_service/report}/__init__.py | 0
.../mcp_service/report/tool}/__init__.py | 0
.../mcp_service/report/tool/test_report_tools.py | 739 +++
.../unit_tests/mcp_service/rls}/__init__.py | 0
.../unit_tests/mcp_service/rls/tool}/__init__.py | 0
.../mcp_service/rls/tool/test_rls_tools.py | 245 +
.../unit_tests/mcp_service/role}/__init__.py | 0
.../unit_tests/mcp_service/role/tool}/__init__.py | 0
.../mcp_service/role/tool/test_role_tools.py | 336 ++
.../mcp_service/saved_query}/__init__.py | 0
.../mcp_service/saved_query/tool}/__init__.py | 0
.../saved_query/tool/test_saved_query_tools.py | 337 ++
.../mcp_service/system/tool/test_get_schema.py | 210 +
.../mcp_service/system/tool/test_mcp_core.py | 12 +-
.../unit_tests/mcp_service/tag}/__init__.py | 0
.../unit_tests/mcp_service/tag/tool}/__init__.py | 0
.../mcp_service/tag/tool/test_tag_tools.py | 268 +
.../unit_tests/mcp_service/task}/__init__.py | 0
.../unit_tests/mcp_service/task/tool}/__init__.py | 0
.../mcp_service/task/tool/test_task_tools.py | 284 +
.../mcp_service/test_mcp_tool_registration.py | 138 +-
.../unit_tests/mcp_service/theme}/__init__.py | 0
.../unit_tests/mcp_service/theme/tool}/__init__.py | 0
.../mcp_service/theme/tool/test_theme_tools.py | 267 +
.../unit_tests/mcp_service/user}/__init__.py | 0
.../unit_tests/mcp_service/user/tool}/__init__.py | 0
.../mcp_service/user/tool/test_user_tools.py | 449 ++
tests/unit_tests/models/core_test.py | 94 +
tests/unit_tests/models/test_soft_delete_mixin.py | 566 ++
tests/unit_tests/result_set_test.py | 20 +
.../scripts/translations/backfill_po_test.py | 33 +
tests/unit_tests/security/manager_test.py | 72 +
tests/unit_tests/utils/test_rison_filters.py | 183 +
tests/unit_tests/views/test_soft_delete_filter.py | 356 ++
308 files changed, 75698 insertions(+), 16814 deletions(-)
delete mode 100644 .github/SECURITY.md
delete mode 100644 .github/workflows/cancel_duplicates.yml
delete mode 100644 .github/workflows/ephemeral-env-pr-close.yml
delete mode 100644 .github/workflows/ephemeral-env.yml
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/src/components/ListView/CardSortSelect.test.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/CompactFilterTrigger.test.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/CompactFilterTrigger.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/CompactSelectPanel.test.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/CompactSelectPanel.tsx
delete mode 100644 superset-frontend/src/components/ListView/Filters/DateRange.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/FilterPopoverContent.test.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/FilterPopoverContent.tsx
delete mode 100644 superset-frontend/src/components/ListView/Filters/Select.test.tsx
delete mode 100644 superset-frontend/src/components/ListView/Filters/Select.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/TimeRange.test.tsx
create mode 100644 superset-frontend/src/components/ListView/Filters/TimeRange.tsx
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/commands/restore.py
copy superset/daos/{security.py => role.py} (78%)
copy {superset-core/src/superset_core/common => superset/mcp_service/action_log}/__init__.py (100%)
create mode 100644 superset/mcp_service/action_log/schemas.py
copy superset/mcp_service/{database => action_log}/tool/__init__.py (84%)
create mode 100644 superset/mcp_service/action_log/tool/get_action_log_info.py
create mode 100644 superset/mcp_service/action_log/tool/list_action_logs.py
copy {superset-core/src/superset_core/common => superset/mcp_service/annotation_layer}/__init__.py (100%)
create mode 100644 superset/mcp_service/annotation_layer/schemas.py
copy superset/mcp_service/{explore => annotation_layer}/tool/__init__.py (68%)
create mode 100644 superset/mcp_service/annotation_layer/tool/get_annotation_layer_info.py
create mode 100644 superset/mcp_service/annotation_layer/tool/get_layer_annotation_info.py
create mode 100644 superset/mcp_service/annotation_layer/tool/list_annotation_layers.py
create mode 100644 superset/mcp_service/annotation_layer/tool/list_layer_annotations.py
copy {superset-core/src/superset_core/common => superset/mcp_service/css_template}/__init__.py (100%)
create mode 100644 superset/mcp_service/css_template/schemas.py
copy superset/mcp_service/{database => css_template}/tool/__init__.py (83%)
create mode 100644 superset/mcp_service/css_template/tool/get_css_template_info.py
create mode 100644 superset/mcp_service/css_template/tool/list_css_templates.py
copy {superset-core/src/superset_core/common => superset/mcp_service/plugin}/__init__.py (100%)
copy superset/{daos/css.py => mcp_service/plugin/dao.py} (88%)
create mode 100644 superset/mcp_service/plugin/schemas.py
copy superset/{models/sql_types => mcp_service/plugin/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/plugin/tool/get_plugin_info.py
create mode 100644 superset/mcp_service/plugin/tool/list_plugins.py
copy {superset-core/src/superset_core/common => superset/mcp_service/query}/__init__.py (100%)
create mode 100644 superset/mcp_service/query/schemas.py
copy superset/{models/sql_types => mcp_service/query/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/query/tool/get_query_info.py
create mode 100644 superset/mcp_service/query/tool/list_queries.py
copy {superset-core/src/superset_core/common => superset/mcp_service/report}/__init__.py (100%)
copy superset/mcp_service/{database => report}/schemas.py (53%)
copy superset/{models/sql_types => mcp_service/report/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/report/tool/get_report_info.py
create mode 100644 superset/mcp_service/report/tool/list_reports.py
copy {superset-core/src/superset_core/common => superset/mcp_service/rls}/__init__.py (100%)
create mode 100644 superset/mcp_service/rls/schemas.py
copy superset/mcp_service/{database => rls}/tool/__init__.py (84%)
create mode 100644 superset/mcp_service/rls/tool/get_rls_filter_info.py
create mode 100644 superset/mcp_service/rls/tool/list_rls_filters.py
copy {superset-core/src/superset_core/common => superset/mcp_service/role}/__init__.py (100%)
create mode 100644 superset/mcp_service/role/schemas.py
copy superset/{models/sql_types => mcp_service/role/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/role/tool/get_role_info.py
create mode 100644 superset/mcp_service/role/tool/list_roles.py
copy {superset-core/src/superset_core/common => superset/mcp_service/saved_query}/__init__.py (100%)
create mode 100644 superset/mcp_service/saved_query/schemas.py
copy superset/mcp_service/{database => saved_query}/tool/__init__.py (83%)
create mode 100644 superset/mcp_service/saved_query/tool/get_saved_query_info.py
create mode 100644 superset/mcp_service/saved_query/tool/list_saved_queries.py
copy {superset-core/src/superset_core/common => superset/mcp_service/tag}/__init__.py (100%)
create mode 100644 superset/mcp_service/tag/schemas.py
copy superset/{sql/execution => mcp_service/tag/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/tag/tool/get_tag_info.py
create mode 100644 superset/mcp_service/tag/tool/list_tags.py
copy {superset-core/src/superset_core/common => superset/mcp_service/task}/__init__.py (100%)
create mode 100644 superset/mcp_service/task/schemas.py
copy superset/{models/sql_types => mcp_service/task/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/task/tool/get_task_info.py
create mode 100644 superset/mcp_service/task/tool/list_tasks.py
copy {superset-core/src/superset_core/common => superset/mcp_service/theme}/__init__.py (100%)
create mode 100644 superset/mcp_service/theme/schemas.py
copy superset/{models/sql_types => mcp_service/theme/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/theme/tool/get_theme_info.py
create mode 100644 superset/mcp_service/theme/tool/list_themes.py
copy {superset-core/src/superset_core/common => superset/mcp_service/user}/__init__.py (100%)
create mode 100644 superset/mcp_service/user/schemas.py
copy superset/{models/sql_types => mcp_service/user/tool}/__init__.py (86%)
create mode 100644 superset/mcp_service/user/tool/get_user_info.py
create mode 100644 superset/mcp_service/user/tool/list_users.py
create mode 100644 superset/utils/rison_filters.py
create mode 100644 tests/unit_tests/commands/chart/update_test.py
create mode 100644 tests/unit_tests/commands/importers/v1/test_find_existing_for_import.py
create mode 100644 tests/unit_tests/commands/importers/v1/utils_test.py
create mode 100644 tests/unit_tests/commands/test_base_restore_command.py
create mode 100644 tests/unit_tests/daos/test_base_dao_soft_delete.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/action_log}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/action_log/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/action_log/tool/test_action_log_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/annotation_layer}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/annotation_layer/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/annotation_layer/tool/test_annotation_layer_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/css_template}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/css_template/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/css_template/tool/test_css_template_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/plugin}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/plugin/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/plugin/tool/test_plugin_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/query}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/query/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/query/tool/test_query_tools.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
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/rls}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/rls/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/rls/tool/test_rls_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/role}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/role/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/role/tool/test_role_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/saved_query}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/saved_query/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/saved_query/tool/test_saved_query_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/tag}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/tag/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/tag/tool/test_tag_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/task}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/task/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/task/tool/test_task_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/theme}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/theme/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/theme/tool/test_theme_tools.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/user}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/user/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/user/tool/test_user_tools.py
create mode 100644 tests/unit_tests/models/test_soft_delete_mixin.py
create mode 100644 tests/unit_tests/utils/test_rison_filters.py
create mode 100644 tests/unit_tests/views/test_soft_delete_filter.py