You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ha...@apache.org on 2026/06/28 04:05:31 UTC
(superset) branch feat/migrate-to-vitest-for-superset-websocket updated (b11e9f5ea93 -> e62b11979c4)
This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a change to branch feat/migrate-to-vitest-for-superset-websocket
in repository https://gitbox.apache.org/repos/asf/superset.git
from b11e9f5ea93 chore: resolve `zizmor/unpinned-uses` issue
add 99ffaf3694a chore(deps-dev): update sqlalchemy-solr requirement from >=0.2.0 to >=0.2.4.3 (#41257)
add b612f573d75 chore(deps-dev): update ydb-sqlalchemy requirement from >=0.1.2 to >=0.1.22 (#41253)
add defacc32373 fix(deps): declare cachetools explicitly in pyproject.toml (#40987)
add ba339fd9c19 chore(deps): bump msgpack from 1.0.8 to 1.2.1 (#41261)
add f33c209f7a4 chore(deps): bump flask-cors from 6.0.2 to 6.0.5 (#41260)
add 27d9bcb7bc1 chore(deps): bump greenlet from 3.5.0 to 3.5.1 (#41258)
add e6fffe95c24 chore(deps): bump pyyaml from 6.0.2 to 6.0.3 (#41256)
add 3dd570cd9bc chore(deps-dev): bump trino from 0.330.0 to 0.337.0 (#41255)
add 6d15876b139 chore(deps-dev): bump grpcio from 1.71.0 to 1.81.1 (#41254)
add f5dd28714d1 chore(deps): bump baseline-browser-mapping from 2.10.36 to 2.10.37 in /docs (#41270)
add 8b430caef41 chore(deps-dev): bump eslint from 10.4.1 to 10.5.0 in /superset-websocket (#41269)
add dc8f0d7b242 chore(deps-dev): bump eslint from 10.4.1 to 10.5.0 in /superset-frontend (#41278)
add 55190b1da05 chore(deps-dev): bump eslint-plugin-storybook from 10.4.3 to 10.4.4 in /superset-frontend (#41277)
add 4312d67775e chore(deps): bump react-arborist from 3.10.1 to 3.10.5 in /superset-frontend (#41276)
add b7451cd16d9 chore(deps-dev): bump yeoman-test from 11.5.3 to 11.6.0 in /superset-frontend (#41274)
add 6118a01bc1c chore(deps): bump mapbox-gl from 3.24.0 to 3.24.1 in /superset-frontend (#41273)
add 7128760d32b chore(deps-dev): bump baseline-browser-mapping from 2.10.36 to 2.10.37 in /superset-frontend (#41271)
add b8aeecfc444 fix(export): dashboard export must not leak env-local chartIds (#32972) (#40588)
add 7340d06a05b feat(reports): adding link to report content (#40525)
add 449bd69802d fix(logging): safely render database URIs in startup warnings (#38229)
add cb1694575c6 fix(dataset-api): disambiguate get_or_create by schema (#40494)
add 36632c20eb3 fix(databases): apply IMPERSONATE_WITH_EMAIL_PREFIX to StarRocks engine (#37984)
add d76b896c9c3 chore: Updates CHANGELOG.md and UPDATING.md with 6.1.0 (#41249)
add 403e11e2efc feat(ci): add workflow to automatically sync pinned requirements for `pip` Dependabot PRs (#40557)
add 2a7fadbd08d fix(sql-lab): use consistent icon size for schema refresh button (#41105)
add 4b87e03e7c2 chore(deps): bump http-proxy-middleware from 2.0.9 to 2.0.10 in /docs (#41287)
add 932bb2f1549 feat(i18n): update Spanish (es) translations (#41265)
add 27a65257ee0 perf(screenshots): reuse Playwright browser across tasks instead of launching per-task (#41243)
add eac5bd23bdf ci(docs): fix Netlify docs preview never skipping on non-docs PRs (#41070)
add e34b7c2daf9 fix(gsheets): pass service_account_info via adapter_kwargs (#38443)
add c55c85f8244 fix(helm)!: replace dockerize initContainer with bash TCP wait (#40425)
add 0fbace5b5d2 docs: Update INTHEWILD.yaml (#36894)
add c49391ab08f refactor: update Connection.execute() to use queries with text() (#40277)
add f70a2eac897 fix(dashboard): normalize legacy currentState to filterState in native_filters URL param (#40929)
add 416fa266d9f chore(datatablecontrol): Removed unused `useTableColumns` (#41155)
add 3b46a5f1213 fix(chart API): Consider time grain filters with the filters_dashboard_id param (#41290)
add 215b207ae47 fix(sql): detect set operations and nested selects in subquery check (#38452)
add 36781fbf47c fix(i18n): wrap table access error message with gettext for translation (#38489)
add 5916ec4876a fix(plugin-chart-echarts): cross-filter horizontal bars on category not metric (#41104)
add 133473d0f47 fix(explore): pre-populate SaveModal dashboard from chart metadata (#41181)
add 8768e5be0fb chore(deps-dev): bump @typescript-eslint/parser from 8.61.0 to 8.61.1 in /superset-websocket (#41312)
add 18853c6ecfc chore(deps): bump actions/setup-java from 5.2.0 to 5.3.0 (#41317)
add da893462b8e chore(deps-dev): bump typescript-eslint from 8.61.0 to 8.61.1 in /docs (#41319)
add 6c70f3d2751 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.61.0 to 8.61.1 in /superset-frontend (#41320)
add 2599bea0c2f chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#41321)
add b9c61a079df chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 1.0.0 to 1.0.1 in /superset-frontend (#41322)
add ae5c08b9931 chore(deps-dev): bump @playwright/test from 1.60.0 to 1.61.0 in /superset-frontend (#41327)
add c65c0951cf6 chore(deps-dev): bump storybook from 10.4.4 to 10.4.5 in /superset-frontend (#41330)
add 714c5cd075d chore(deps-dev): bump oxlint from 1.69.0 to 1.70.0 in /superset-frontend (#41331)
add b94f90e39e4 chore(deps-dev): bump @formatjs/intl-durationformat from 0.10.14 to 0.10.15 in /superset-frontend (#41332)
add 9431381c3e1 chore(deps-dev): bump @storybook/addon-docs from 10.4.4 to 10.4.5 in /superset-frontend (#41326)
add 92109f0f993 chore(deps-dev): bump eslint-plugin-storybook from 10.4.4 to 10.4.5 in /superset-frontend (#41316)
add eb0d4dd601e chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.61.0 to 8.61.1 in /superset-websocket (#41315)
add 5d06438a075 fix(docker): restore working `docker compose up` for the dev stack (#41077)
add 3ff90bd532c fix(big-number): respect extra_form_data.time_compare in Big Number with Time Comparison (#41342)
add 36b0ed023bb fix(viz-date-control): Just use global DEFAULT_TIME_FORMAT instead of hardcoding 'smart_date' (#28708)
add 66f5ab2d2f6 fix(ssh-tunnel): support ed25519 and ECDSA keys, not just RSA (#24180) (#40139)
add 5731d0874a8 fix(docker): exec gunicorn in run-server.sh so it receives SIGTERM (#41173)
add 90fa31f3053 chore(deps-dev): bump typescript-eslint from 8.61.0 to 8.61.1 in /superset-websocket (#41313)
add 5e8a0c0244b fix(embedded): allow guest users to sort table columns in embedded dashboards (#41218)
add ca3c4204124 fix(trino): ignore Iceberg $partitions metadata fields in partition detection (#41055)
add c539ae98ba9 fix(helm): enable graceful termination and overrides for celery worker (#41175)
add e2c6dc3e1a4 fix(sqllab): shrink Template Parameters editor height and add outline (#41128)
add 67182e255c7 fix(dashboard): prevent undo crash on new dashboard opened in edit mode (#41252)
add 9d56b1721d4 fix(models): use Series.iloc for positional access in post_process_df (#41344)
add 1d3daf2ac83 fix(security): return generic error and log internally in RoleRestAPI.get_list (#41295)
add dee58595992 fix(rls): reject empty or whitespace-only RLS clauses (#41297)
add c1787a67aac fix(extensions): log extension-init failures via the logger, not print() (#41304)
add 386893f9f22 feat(security): record audit metadata on guest token issuance (#41305)
add b061b5d317c chore: fix lint on untouched files (#41333)
add 1b71c105b77 docs(meta-db): warn that SUPERSET_META_DB_LIMIT truncates tables before joins (#41302)
add 18fea37e849 fix(SavedQueries): allow other admin users see "saved queries" (#20604) (#21769)
add b1470bd5a59 fix(i18n): correct french translations causing build errors (#34563)
add d3d52970250 fix(reports): preserve dashboard state in tab permalinks (#39708)
add c1d08bf27c0 fix(table): respect row limit with server pagination (#41024)
add acb996a3247 feat(mcp): support virtual dataset metrics and improve adhoc SQL metric discoverability (#40935)
add 3bc3f47d67c fix(dataset): import/export jinja template bug (#28790)
add c1f4062af6c fix(sql-lab): normalize tabViewId in QUERY_EDITOR_SET_SQL reducer (#40983)
add 9b6d3ce775e fix(models): make naive datetime object timezone-aware before converting to unix timestamp (#39782)
add d6ede998619 fix(tags): tags api change tag_get_objects method to be aligned with api documentation (#29338)
add 0ec6cae45d1 feat(Boxplot): Allow configuration of y-axis range (#24380)
add b4dfeef2fd5 fix(reports): add network timeouts so schedules can't hang forever (#41250)
add 1d0866556f3 fix(sql_lab): serialize dict/list cell values as valid JSON strings (#41099)
add c2fb94cedf2 perf(filters): cache column-values endpoint to skip DB on repeat requests (#40839)
add 41ce9ca7d37 chore(deps-dev): bump @swc/plugin-emotion from 14.12.0 to 14.13.0 in /superset-frontend (#41377)
add b77c525d4b2 chore(deps-dev): bump storybook from 10.4.5 to 10.4.6 in /superset-frontend (#41368)
add 7ba59c2d799 chore(deps): bump @jsonforms/vanilla-renderers from 3.7.0 to 3.8.0 in /superset-frontend (#41367)
add 420a74b01e5 chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#41358)
add 6bc77fecc2b feat(country-map): add cross-filters support (#35859)
add 1ea3584dcbb fix(chart): added Big Number chart support for MAX metric with VARCHAR column (#41182)
add 8f22b718985 feat(chart): enable cross-filter on x-axis labels for bar, line, area and scatter charts (#41111)
add 584d41759b5 refactor: migrate test files from nested describe blocks and remove stale lint ignores (#39202)
add d9d395bde13 fix(helm): remove unused SQLALCHEMY_TRACK_MODIFICATIONS setting (#37259)
add 7b9bcdd9518 fix(bigquery): preserve catalog in partition metadata lookup (#40200)
add eb60e5477b1 fix(radar): correct legend margin control in the radar chart (#39414)
add 1b8c6d109da feat: added deterministic field generation to dashboard export (#36339)
add caf81e71d22 feat(mcp): add typed Pydantic response schemas to generate_explore_link tool (#39900)
add 779fa136793 fix(security): prevent duplicate items in permissions dropdown on scroll (#39292)
add 8eb753eab22 fix(dashboard): keep native filter dropdown from covering input (#40032)
add ac234d0fb26 fix(dashboard): prevent x-axis clipping when toggling chart description (#38307)
add 91188a0302d fix(config): Wire LOGO_TARGET_PATH and document custom spinner usage (#36951)
add d1b523b97f2 docs: fix placeholder text in @superset-ui/core README (#40002)
add a57b5f60780 fix(deckgl): show dashboard filter badges for multi-layer charts (#40003)
add 3261d102708 chore(frontend): enforce TypeScript-only source files (#41385)
add 2d78a8733cd fix(plugin-chart-ag-grid-table): show correct percent-metric totals in summary row (#41247)
add 7bb4e82a827 fix(dashboard): Remove 308 redirect when creating new dashboards (#41343)
add f6ce1054508 fix(pandas-postprocessing): handle prophet errors and validate minimum data points for forecast (#41180)
add 3ec4bd23c4d fix(deps): restore np.nan in offset_metrics_df empty branch (#41267)
add 09c7ba14df4 fix(export): sanitize control characters in titles to prevent export failures (#39294)
add 6f12d173133 fix(charts): show user-friendly error for HTTP 413 payload too large (#37131)
add 73637748698 fix(theming): deep-merge partial THEME_DEFAULT overrides with built-in defaults (#41347)
add b955c90de40 fix(sqllab): Invalid multi sorting state in table header (#40680)
add 518cadd907c fix(mcp_service): reduce deprecated authlib.jose.errors imports (#41248)
add 076d8c15089 docs(security): add a secrets register and rotation schedule (#41308)
add 6166af3c3c8 fix(mcp): reject non-finite JWT exp instead of 500ing on int() overflow (#41394)
add f40abbbefd1 fix(mcp): fail closed when the JWT verifier has no pinned algorithm (#41296)
add da9fbadaf65 fix(logout): purge the namespaced Cache API store on logout (#41303)
add 4519a5c52d8 fix(safe-markdown): do not mutate the shared sanitization schema (#41298)
add 4f4663418f3 fix(tests): stabilize update_chart MCP test failing on previous-Python CI leg (#41310)
add 1f16d10cbf9 chore(deps): bump pyjwt to 2.13.0 (CVE-2026-48526) (#41288)
add 0fd244b5c6f fix(security): reject unknown fields on guest-token RLS rules (#41217)
add 81f7e42f4ee fix(rls): preserve tables/roles on partial RLS rule updates (#41294)
add 0667ba60971 chore(deps): bump dompurify and http-proxy-middleware (security) (#41289)
add e0f3f93cd4e fix(mcp): require MCP_JWT_AUDIENCE when MCP JWT auth is enabled (#41292)
add 2b25345ed9e chore(deps-dev): bump baseline-browser-mapping from 2.10.37 to 2.10.38 in /superset-frontend (#41413)
add b4f43bd7e02 chore(deps): bump baseline-browser-mapping from 2.10.37 to 2.10.38 in /docs (#41405)
add fe2424ec14a chore(deps): bump mapbox-gl from 3.24.1 to 3.25.0 in /superset-frontend (#41409)
add a90c8e03476 feat(extensions): add Chat contribution type (SIP-214) (#41205)
add 9a11c15a333 feat(explore): add full-range option for time-shift comparison (#41334)
add baca76ebe0c fix(slack): fix indented triple-quoted string in v1 API deprecation warning (#41393)
add 83f7dc9d5b3 chore(codeowners): add translation maintainers (#41429)
add 4b9b8187b3c fix(config): make Swagger UI opt-in (off by default) (#41300)
add d8bcc664727 feat(mcp): dashboard layout, theme, and CSS control + update_dashboard tool (#40399)
add 9965c056995 fix(semantic layers): small fixes (#40474)
add de01fe2ff0e fix(chart-controls): fix RadioButtonControl crash on empty options and false values (#41170)
add aac02ab6793 fix(deck.gl): use interval notation for Polygon legend bucket labels (#41400)
add 95ecdd37537 fix(menu): highlight active nav tab in non-English locales (#41183)
add c94bc7178f0 fix(world-map): rely on built-in highlightOnHover to reset hover highlight (#41158)
add 8fed514e794 fix(dashboard): keep pasted filter values outside the loaded page (#41136)
add d763255e159 chore(i18n): update Turkish translations messages.po (#39064)
add 2b09b6bc1df feat(mcp): list_charts accepts `dashboards` filter (#40397)
add f08f0682409 fix(sqllab): replace native prompt with modal for tab rename (#41329)
add 7410ff73c0a ci: schedule a weekly Docker image rebuild against the latest release (#40426)
add 0d43c2c12c3 feat(reports): trigger alerts (#41336)
add 7e17c70cba2 fix: Filter null child names in treeBuilder utility (#31477)
add 35365d639d5 fix(deckgl): render legend swatch as a coloured box, not an emoji glyph (#40784)
add 01a0c66c798 fix(sunburst): make "Show Null Values" non-breaking and cover all layers (#41442)
add ee43d8869f6 chore(deps): bump nanoid from 5.1.11 to 5.1.14 in /superset-frontend (#41450)
add b8f3918bcf1 chore(deps-dev): bump react-resizable from 4.0.1 to 4.0.2 in /superset-frontend (#41448)
add 84e07df735d chore(deps): bump react-draggable from 4.6.0 to 4.7.0 in /superset-frontend (#41446)
add f49db9e5364 fix(dashboard): restore page scrolling (#41439)
add a5dbb394e5f fix(thumbnails): add deduplication to dashboard thumbnail Celery tasks (#38576)
add f10315f8fcc test(databases): migrate database modal Cypress tests to RTL (#41436)
add 667005638a5 fix(dropdown): clear search input after selection in all multi-select fields (#41074)
add c87fdfc18fc fix(i18n): defer plugin init and menu render until language pack is ready (#40729)
add 11d7f7fb87f fix: convert ALL CAPS button labels to sentence case (#40435)
add 0efcbcdd81c test(security): regression coverage for #36130 FAB permission view templates (#41130)
add c03cdade39a chore(deck.gl): remove leftover debug className from Legend (#41165)
add bfa6cfac852 fix(database): mask SSH tunnel credentials explicitly on read paths (#41293)
add 71c8e2f69d2 fix(config): refuse to start with an empty SECRET_KEY (#41299)
add 068a709c140 fix(config): expose build details (git SHA/build number) to admins only (#41301)
add eaaab614934 chore(ci): correct setup-python pin version comment to v6.2.0 (#41383)
add 8aacb6f793c fix(async): derive async channel from guest token for embedded RLS queries (closes #31492) (#41397)
add 98d0ccd7a7f fix(reports): reliability fixes for alert/report execution (#41177)
add 834ccf2613d fix(chart): chart description not showing (#41453)
add ac9bf26751c chore(deps): bump vulnerable transitive deps across lockfiles (#41307)
add 022f66a6941 fix(country-map): update Morocco GeoJSON boundaries (#41021)
add 6f12dbf0e1c feat(api): log rejected related/distinct field access as security events (#41306)
add dc64716c615 fix(echarts): bring annotations in front and prevent tooltip from covering annotation labels (#41174)
add 15626a047c4 fix(sqllab): quote autocomplete table names that need it (#41199)
add 1280eaee18a fix(mcp): include embedded_uuid in get_dashboard_info response (#41195)
add ebb32de625c fix(cachekey): use data_cache for chart query result invalidation (#40493)
add a1470790438 fix(bigquery): backslash-escape apostrophes in filter values (#38835)
add 0a18779280a fix(echarts): format mixed timeseries value labels by assigned axis (#40420)
add 21999bb7727 fix(i18n): repair corrupted Romanian catalog so it parses again (#41467)
add cd8ac41d169 fix(datasource): validate expressions through the shared adhoc-expression checks (#41427)
add 3eb91855212 fix(viz): use series_limit/series_limit_metric in query_obj dict (#41002)
add 5ec09318408 fix(pandas_postprocessing): pass string operator names to GroupBy.agg to avoid FutureWarning (#41025)
add 97cb002f46b fix(a11y): propagate tooltip string as aria-label on IconTooltip button (#41493)
add 7587d0778a0 chore(ci): correct actions/cache version comment to v5.0.5 (#41484)
add 78dd400ca43 chore(ci): correct actions/cache version comment to match pinned SHA (#41483)
add 6b4255ff78b Merge branch 'master' into feat/migrate-to-vitest-for-superset-websocket
add e62b11979c4 chore: update typescript-eslint plugins
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 2 +-
.github/actions/setup-backend/action.yml | 2 +-
.github/workflows/bump-python-package.yml | 4 +-
.github/workflows/check-python-deps.yml | 2 +-
.github/workflows/check_db_migration_confict.yml | 2 +-
.github/workflows/codeql-analysis.yml | 4 +-
.github/workflows/dependency-review.yml | 6 +-
.github/workflows/docker.yml | 6 +-
.github/workflows/embedded-sdk-release.yml | 2 +-
.github/workflows/embedded-sdk-test.yml | 2 +-
.github/workflows/generate-FOSSA-report.yml | 4 +-
.github/workflows/github-action-validator.yml | 2 +-
.github/workflows/issue_creation.yml | 2 +-
.github/workflows/latest-release-tag.yml | 2 +-
.github/workflows/license-check.yml | 4 +-
.github/workflows/pr-lint.yml | 2 +-
.github/workflows/pre-commit.yml | 4 +-
.github/workflows/release.yml | 6 +-
.../workflows/scheduled-docker-image-refresh.yml | 177 +
.github/workflows/showtime-trigger.yml | 2 +-
.github/workflows/superset-app-cli.yml | 2 +-
.github/workflows/superset-docs-deploy.yml | 4 +-
.github/workflows/superset-docs-verify.yml | 6 +-
.github/workflows/superset-e2e.yml | 14 +-
.github/workflows/superset-extensions-cli.yml | 2 +-
.github/workflows/superset-frontend.yml | 4 +-
.github/workflows/superset-helm-lint.yml | 2 +-
.github/workflows/superset-helm-release.yml | 2 +-
.github/workflows/superset-playwright.yml | 8 +-
.../workflows/superset-python-integrationtest.yml | 8 +-
.github/workflows/superset-python-presto-hive.yml | 6 +-
.github/workflows/superset-python-unittest.yml | 4 +-
.github/workflows/superset-translations.yml | 4 +-
.github/workflows/superset-websocket.yml | 2 +-
.github/workflows/supersetbot.yml | 2 +-
...sync-requirements-for-python-dep-upgrade-pr.yml | 60 +
.github/workflows/tag-release.yml | 10 +-
.github/workflows/tech-debt.yml | 2 +-
CHANGELOG.md | 1 +
CHANGELOG/6.1.0.md | 1563 ++++
RESOURCES/INTHEWILD.yaml | 68 +-
UPDATING.md | 19 +
docker-compose.yml | 17 +-
docker/.env | 2 +
docker/docker-bootstrap.sh | 16 +-
docker/entrypoints/run-server.sh | 2 +-
docs/admin_docs/configuration/alerts-reports.mdx | 2 +-
docs/admin_docs/security/securing_superset.mdx | 19 +
.../extensions/contribution-types.md | 23 +-
.../extensions/extension-points/chat.md | 141 +
docs/developer_docs/sidebars.js | 2 +
docs/netlify.toml | 21 +-
docs/package.json | 7 +-
.../version-6.0.0/configuration/databases.mdx | 4 +
docs/yarn.lock | 177 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 9 +-
helm/superset/templates/_helpers.tpl | 2 -
helm/superset/templates/deployment-worker.yaml | 6 +
helm/superset/templates/deployment.yaml | 6 +
helm/superset/values.yaml | 134 +-
pyproject.toml | 23 +-
pytest.ini | 2 +-
requirements/base.in | 6 +
requirements/base.txt | 26 +-
requirements/development.txt | 31 +-
scripts/benchmark_migration.py | 4 +-
.../cypress/e2e/database/modal.test.ts | 118 -
superset-frontend/cypress-base/package-lock.json | 529 +-
superset-frontend/cypress-base/package.json | 1 +
superset-frontend/package-lock.json | 1696 ++---
superset-frontend/package.json | 36 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-core/package.json | 8 +
.../packages/superset-core/src/chat/index.ts | 156 +
.../packages/superset-core/src/common/index.ts | 2 -
.../superset-core/src/contributions/index.ts | 12 +-
.../packages/superset-core/src/index.ts | 2 +
.../packages/superset-core/src/navigation/index.ts | 81 +
.../packages/superset-core/src/views/index.ts | 10 +-
.../src/sections/advancedAnalytics.tsx | 20 +
.../components/RadioButtonControl.tsx | 2 +-
.../components/RadioButtonControl.test.tsx | 45 +
.../packages/superset-ui-core/README.md | 45 +-
.../packages/superset-ui-core/package.json | 2 +-
.../src/components/IconTooltip/index.tsx | 1 +
.../src/components/SafeMarkdown/SafeMarkdown.tsx | 18 +-
.../src/components/Select/AsyncSelect.tsx | 8 +-
.../src/components/Select/Select.stories.tsx | 2 +-
.../src/components/Select/Select.test.tsx | 121 +
.../src/components/Select/Select.tsx | 32 +-
.../src/components/Select/types.ts | 12 +
.../src/connection/SupersetClient.ts | 1 +
.../src/connection/SupersetClientClass.ts | 20 +
.../superset-ui-core/src/connection/types.ts | 1 +
.../test/components/SafeMarkdown.test.tsx | 32 +
.../test/connection/SupersetClient.test.ts | 6 +-
.../test/connection/SupersetClientClass.test.ts | 71 +
.../tests/chart/handlebars-format-date.spec.ts | 9 +-
.../tests/dashboard/clear-all-filters.spec.ts | 5 +-
.../mixed-chart-dashboard-filters.spec.ts | 20 +-
.../tests/embedded/pivot-collapse-state.spec.ts | 5 +-
.../src/controlPanel.ts | 3 +-
.../scripts/Country Map GeoJSON Generator.ipynb | Bin 11215237 -> 11681332 bytes
.../src/CountryMap.ts | 298 +-
.../src/countries/morocco.geojson | Bin 53627 -> 47809 bytes
.../legacy-plugin-chart-country-map/src/index.ts | 7 +-
.../src/transformProps.ts | 19 +-
.../test/CountryMap.test.tsx | 97 +-
.../test/transformProps.test.ts | 76 +
.../src/controlPanel.tsx | 3 +-
.../legacy-plugin-chart-rose/src/controlPanel.tsx | 3 +-
.../legacy-plugin-chart-world-map/src/WorldMap.ts | 37 +-
.../test/WorldMap.test.ts | 263 +-
.../legacy-preset-chart-nvd3/src/NVD3Controls.tsx | 3 +-
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 30 +-
.../test/buildQuery.test.ts | 69 +
.../BigNumberPeriodOverPeriod/buildQuery.ts | 18 +-
.../BigNumberPeriodOverPeriod/transformProps.ts | 6 +-
.../BigNumberTotal/transformProps.test.ts | 50 +
.../src/BigNumber/BigNumberTotal/transformProps.ts | 9 +-
.../src/BigNumber/BigNumberViz.tsx | 4 +-
.../src/BoxPlot/controlPanel.ts | 17 +-
.../src/BoxPlot/transformProps.ts | 33 +-
.../plugin-chart-echarts/src/BoxPlot/types.ts | 1 +
.../src/MixedTimeseries/controlPanel.tsx | 19 +-
.../src/MixedTimeseries/transformProps.ts | 26 +-
.../plugin-chart-echarts/src/Pie/controlPanel.tsx | 3 +-
.../src/Radar/controlPanel.tsx | 3 +-
.../src/Radar/transformProps.ts | 18 +-
.../src/Sunburst/controlPanel.tsx | 17 +-
.../src/Sunburst/transformProps.ts | 4 +
.../src/Timeseries/Area/controlPanel.tsx | 1 -
.../src/Timeseries/EchartsTimeseries.test.tsx | 263 +-
.../src/Timeseries/EchartsTimeseries.tsx | 80 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 1 -
.../src/Timeseries/Regular/Line/controlPanel.tsx | 1 -
.../Timeseries/Regular/Scatter/controlPanel.tsx | 1 -
.../Timeseries/Regular/SmoothLine/controlPanel.tsx | 1 -
.../src/Timeseries/Step/controlPanel.tsx | 1 -
.../src/Timeseries/buildQuery.ts | 6 +
.../src/Timeseries/transformProps.ts | 15 +-
.../src/Timeseries/transformers.ts | 4 +
.../src/components/Echart.test.tsx | 223 +
.../plugin-chart-echarts/src/components/Echart.tsx | 27 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 4 +
.../plugins/plugin-chart-echarts/src/controls.tsx | 1 -
.../plugins/plugin-chart-echarts/src/types.ts | 8 +
.../plugin-chart-echarts/src/utils/tooltip.ts | 50 +-
.../plugin-chart-echarts/src/utils/treeBuilder.ts | 16 +-
.../BigNumberPeriodOverPeriod/buildQuery.test.ts | 73 +
.../test/BoxPlot/transformProps.test.ts | 46 +
.../test/MixedTimeseries/transformProps.test.ts | 195 +-
.../test/Radar/transformProps.test.ts | 56 +
.../test/Sunburst/transformProps.test.ts | 54 +-
.../test/Timeseries/transformProps.test.ts | 6 +-
.../test/utils/treeBuilder.test.ts | 375 +
.../plugin-chart-point-cluster-map/package.json | 2 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 94 +-
.../plugin-chart-table/test/buildQuery.test.ts | 247 +-
.../src/components/Legend.test.tsx | 71 +
.../preset-chart-deckgl/src/components/Legend.tsx | 58 +-
.../plugins/preset-chart-deckgl/src/utils.test.ts | 47 +-
.../plugins/preset-chart-deckgl/src/utils.ts | 9 +-
superset-frontend/scripts/check-custom-rules.js | 75 +-
.../components/EditorWrapper/useKeywords.test.ts | 62 +-
.../SqlLab/components/EditorWrapper/useKeywords.ts | 10 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 2 +-
.../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx | 171 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 82 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 10 +-
.../TemplateParamsEditor.test.tsx | 18 +-
.../components/TemplateParamsEditor/index.tsx | 25 +-
.../src/SqlLab/reducers/sqlLab.test.ts | 21 +
superset-frontend/src/SqlLab/reducers/sqlLab.ts | 16 +-
.../src/components/GridTable/Header.test.tsx | 186 +-
.../src/components/GridTable/Header.tsx | 58 +-
superset-frontend/src/core/chat/ChatHost.test.tsx | 277 +
superset-frontend/src/core/chat/ChatHost.tsx | 133 +
.../src/core/chat/ChatProvider.test.ts | 257 +
superset-frontend/src/core/chat/ChatProvider.ts | 209 +
superset-frontend/src/core/chat/index.test.ts | 68 +
superset-frontend/src/core/chat/index.ts | 82 +
.../src/core/editors/EditorProviders.test.ts | 27 -
.../src/core/editors/EditorProviders.ts | 60 +-
superset-frontend/src/core/editors/index.ts | 135 +-
superset-frontend/src/core/index.ts | 2 +
superset-frontend/src/core/menus/index.ts | 23 +-
.../src/core/navigation/index.test.ts | 124 +
superset-frontend/src/core/navigation/index.ts | 94 +
superset-frontend/src/core/sqlLab/index.ts | 2 +-
.../src/core/{utils.ts => storeUtils.ts} | 15 +-
superset-frontend/src/core/utils.ts | 67 +-
superset-frontend/src/core/views/index.ts | 39 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 2 +-
.../DashboardBuilder/DashboardContainer.test.tsx | 6 +-
.../DashboardBuilder/DashboardContainer.tsx | 10 +-
.../components/gridComponents/Chart/Chart.test.tsx | 73 +
.../components/gridComponents/Chart/Chart.tsx | 74 +-
.../components/gridComponents/Tabs/Tabs.test.tsx | 2 +-
.../components/gridComponents/Tabs/Tabs.tsx | 2 +-
.../components/nativeFilters/selectors.test.ts | 61 +
.../components/nativeFilters/selectors.ts | 18 +-
.../dashboard/containers/DashboardPage.test.tsx | 118 +-
.../src/dashboard/containers/DashboardPage.tsx | 20 +-
.../reducers/undoableDashboardLayout.test.ts | 160 +
.../dashboard/reducers/undoableDashboardLayout.ts | 58 +-
superset-frontend/src/embedded/index.tsx | 80 +-
.../explore/components/DataTableControl/index.tsx | 240 +-
.../DataTableControl/useTableColumns.test.ts | 224 -
.../components/ExploreViewContainer/index.tsx | 3 +-
.../src/explore/components/SaveModal.test.tsx | 166 +
.../src/explore/components/SaveModal.tsx | 38 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 4 +-
.../tests/DateFilterLabel.test.tsx | 6 +-
.../controls/MapViewControl/MapViewControl.tsx | 4 +-
.../useExploreAdditionalActionsMenu/index.tsx | 176 +-
.../useExploreAdditionalActionsMenu.test.tsx | 150 +
.../src/explore/exploreUtils/exportChart.test.ts | 216 +-
.../src/explore/exploreUtils/index.ts | 52 +-
.../src/extensions/ExtensionsLoader.test.ts | 1 -
.../src/extensions/ExtensionsStartup.test.tsx | 10 +
.../src/extensions/ExtensionsStartup.tsx | 29 +-
superset-frontend/src/extensions/Namespaces.ts | 60 +
.../src/features/alerts/AlertReportModal.test.tsx | 55 +
.../src/features/alerts/AlertReportModal.tsx | 141 +-
.../alerts/hooks/useExecuteReportSchedule.test.ts | 125 +
.../alerts/hooks/useExecuteReportSchedule.ts | 96 +
.../databases/DatabaseModal/index.test.tsx | 175 +-
.../src/features/databases/DatabaseModal/index.tsx | 2 +-
.../src/features/home/DashboardTable.test.tsx | 2 +-
.../src/features/home/DashboardTable.tsx | 2 +-
superset-frontend/src/features/home/EmptyState.tsx | 2 +-
superset-frontend/src/features/home/Menu.test.tsx | 110 +-
superset-frontend/src/features/home/Menu.tsx | 34 +-
.../src/features/home/RightMenu.test.tsx | 44 +-
superset-frontend/src/features/home/RightMenu.tsx | 18 +-
.../src/features/roles/RoleFormItems.test.tsx | 66 +
.../src/features/roles/RoleFormItems.tsx | 105 +-
superset-frontend/src/features/roles/utils.test.ts | 10 +
superset-frontend/src/features/roles/utils.ts | 24 +-
.../semanticLayers/SemanticLayerModal.test.tsx | 99 +-
.../features/semanticLayers/SemanticLayerModal.tsx | 77 +-
.../features/semanticLayers/jsonFormsHelpers.tsx | 56 +-
.../src/features/tags/BulkTagModal.test.tsx | 119 +-
.../components/Select/SelectFilterPlugin.test.tsx | 39 +
.../components/Select/SelectFilterPlugin.tsx | 22 +-
.../src/hooks/useThemeMenuItems.test.tsx | 1 -
.../pages/AlertReportList/AlertReportList.test.tsx | 67 +
.../src/pages/AlertReportList/index.tsx | 61 +-
.../src/pages/DashboardList/index.tsx | 2 +-
.../DatasetList/DatasetList.behavior.test.tsx | 135 +
superset-frontend/src/pages/DatasetList/index.tsx | 34 +-
.../src/pages/SavedQueryList/index.tsx | 52 +-
superset-frontend/src/utils/common.test.tsx | 248 +-
superset-frontend/src/utils/export.test.ts | 58 +-
superset-frontend/src/utils/export.ts | 30 +-
superset-frontend/src/utils/localStorageHelpers.ts | 2 +
.../utils/sanitizeDocumentTitle.test.ts} | 32 +-
.../utils/sanitizeDocumentTitle.ts} | 12 +-
superset-frontend/src/views/App.tsx | 171 +-
superset-frontend/src/views/menu.tsx | 55 +-
superset-frontend/src/views/routePaths.ts | 60 +
superset-frontend/src/views/routes.tsx | 208 +-
superset-websocket/package-lock.json | 526 +-
superset-websocket/package.json | 11 +-
.../advanced_data_type/plugins/internet_address.py | 6 +-
.../advanced_data_type/plugins/internet_port.py | 6 +-
superset/async_events/async_query_manager.py | 55 +-
superset/cachekeys/api.py | 5 +-
superset/charts/data/dashboard_filter_context.py | 13 +-
superset/charts/schemas.py | 12 +
superset/cli/test_db.py | 5 +-
superset/commands/dashboard/export.py | 202 +-
superset/commands/distributed_lock/acquire.py | 36 +-
superset/commands/report/exceptions.py | 39 +
superset/commands/report/execute.py | 102 +-
superset/commands/report/execute_now.py | 134 +
superset/commands/security/update.py | 33 +-
superset/common/query_object.py | 3 +
superset/common/utils/dataframe_utils.py | 9 +-
superset/config.py | 99 +-
superset/daos/base.py | 108 +-
superset/daos/chart.py | 1 +
superset/daos/dataset.py | 21 +
superset/dashboards/api.py | 2 -
superset/databases/api.py | 14 +-
superset/datasets/api.py | 56 +-
superset/datasets/schemas.py | 14 +
superset/datasource/api.py | 94 +-
superset/db_engine_specs/bigquery.py | 98 +-
superset/db_engine_specs/databricks.py | 10 +-
superset/db_engine_specs/doris.py | 4 +-
superset/db_engine_specs/duckdb.py | 4 +-
superset/db_engine_specs/gsheets.py | 30 +-
superset/db_engine_specs/hive.py | 2 +-
superset/db_engine_specs/impala.py | 4 +-
superset/db_engine_specs/postgres.py | 6 +-
superset/db_engine_specs/presto.py | 19 +-
superset/db_engine_specs/snowflake.py | 4 +-
superset/db_engine_specs/starrocks.py | 16 +-
superset/db_engine_specs/trino.py | 122 +-
superset/distributed_lock/__init__.py | 6 +-
superset/exceptions.py | 8 +
superset/extensions/metadb.py | 2 +-
superset/extensions/ssh.py | 51 +-
superset/extensions/utils.py | 1 +
superset/initialization/__init__.py | 62 +-
superset/mcp_service/app.py | 2 +
.../chart/prompts/create_chart_guided.py | 10 +
superset/mcp_service/chart/schemas.py | 7 +-
.../chart/tool/get_chart_type_schema.py | 1 +
superset/mcp_service/dashboard/schemas.py | 246 +-
superset/mcp_service/dashboard/tool/__init__.py | 2 +
.../dashboard/tool/generate_dashboard.py | 154 +-
.../dashboard/tool/get_dashboard_info.py | 3 +-
.../mcp_service/dashboard/tool/update_dashboard.py | 269 +
superset/mcp_service/dataset/schemas.py | 40 +-
.../dataset/tool/create_virtual_dataset.py | 84 +-
superset/mcp_service/explore/schemas.py | 92 +
.../explore/tool/generate_explore_link.py | 203 +-
superset/mcp_service/jwt_verifier.py | 67 +-
superset/mcp_service/mcp_config.py | 28 +-
superset/mcp_service/server.py | 7 +
superset/migrations/shared/utils.py | 4 +-
...fdf31bdd4_add_published_column_to_dashboards.py | 2 +-
...14-38_a9422eeaae74_new_dataset_models_take_2.py | 6 +-
..._13-00_c747c78868b6_migrating_legacy_treemap.py | 5 +-
...-16_a39867932713_query_context_to_mediumtext.py | 5 +-
...2af1b_drop_postgres_enum_constrains_for_tags.py | 9 +-
...-08_10-22_4c5da39be729_migrate_treemap_chart.py | 5 +-
superset/models/core.py | 2 +-
superset/models/helpers.py | 95 +-
superset/queries/saved_queries/api.py | 2 +
superset/queries/saved_queries/filters.py | 15 +-
superset/reports/api.py | 81 +
superset/reports/notifications/webhook.py | 21 +-
superset/reports/schemas.py | 12 +
superset/result_set.py | 18 +-
superset/row_level_security/schemas.py | 25 +-
superset/security/api.py | 62 +-
superset/security/guest_token.py | 35 +-
superset/security/manager.py | 174 +-
superset/sql/parse.py | 15 +-
superset/superset_typing.py | 1 +
superset/tags/api.py | 23 +-
superset/tasks/thumbnails.py | 10 +-
superset/translations/es/LC_MESSAGES/messages.po | 69 +-
superset/translations/fr/LC_MESSAGES/messages.po | 72 +-
superset/translations/lv/LC_MESSAGES/messages.po | 6 +
superset/translations/messages.pot | 6 +
superset/translations/ro/LC_MESSAGES/messages.po | 11 +-
superset/translations/tr/LC_MESSAGES/messages.po | 7734 +++++++++++---------
superset/utils/core.py | 33 +-
superset/utils/csv.py | 14 +-
superset/utils/encrypt.py | 2 +-
superset/utils/excel.py | 6 +-
superset/utils/file.py | 13 +
superset/utils/mock_data.py | 13 +-
superset/utils/pandas_postprocessing/prophet.py | 18 +-
superset/utils/pandas_postprocessing/utils.py | 26 +-
superset/utils/screenshots.py | 104 +-
superset/utils/slack.py | 12 +-
superset/utils/version.py | 17 +
superset/utils/webdriver.py | 109 +-
superset/views/base.py | 26 +-
superset/views/base_api.py | 27 +-
superset/views/health.py | 19 +-
superset/views/log/api.py | 5 +-
superset/viz.py | 60 +-
tests/common/assert_utils.py | 59 +
.../data_loading/pandas/pandas_data_loader.py | 3 +-
tests/integration_tests/base_api_tests.py | 10 +-
tests/integration_tests/cachekeys/api_tests.py | 47 +-
tests/integration_tests/celery_tests.py | 5 +-
tests/integration_tests/conftest.py | 29 +-
tests/integration_tests/core_tests.py | 16 +
.../integration_tests/dashboards/commands_tests.py | 67 +-
tests/integration_tests/databases/api_tests.py | 71 +
.../databases/commands/upload_test.py | 11 +-
tests/integration_tests/datasets/api_tests.py | 173 +-
tests/integration_tests/datasets/commands_tests.py | 7 +-
tests/integration_tests/datasource/api_tests.py | 127 +
tests/integration_tests/datasource_tests.py | 20 +-
.../db_engine_specs/hive_tests.py | 10 +-
.../db_engine_specs/presto_tests.py | 22 +-
tests/integration_tests/email_tests.py | 40 +-
.../integration_tests/fixtures/energy_dashboard.py | 4 +-
.../fixtures/unicode_dashboard.py | 4 +-
.../fixtures/world_bank_dashboard.py | 4 +-
.../queries/saved_queries/api_tests.py | 74 +-
.../queries/saved_queries/commands_tests.py | 45 +-
tests/integration_tests/reports/api_tests.py | 96 +-
tests/integration_tests/reports/commands_tests.py | 19 +-
tests/integration_tests/security/api_tests.py | 37 +-
tests/integration_tests/sqllab_tests.py | 14 +-
tests/integration_tests/superset_test_config.py | 4 +
tests/integration_tests/viz_tests.py | 75 +-
.../async_events/async_query_manager_tests.py | 93 +-
tests/unit_tests/charts/test_chart_data_api.py | 96 +
.../cli/test_db_test.py} | 25 +-
tests/unit_tests/commands/dashboard/export_test.py | 526 +-
tests/unit_tests/commands/export_test.py | 28 +-
tests/unit_tests/commands/report/execute_test.py | 315 +
.../unit_tests/commands/report/test_execute_now.py | 198 +
tests/unit_tests/commands/security/rls_test.py | 91 +
.../common/test_query_context_factory.py | 4 +-
tests/unit_tests/common/test_time_shifts.py | 88 +
tests/unit_tests/config_swagger_ui_test.py | 77 +
tests/unit_tests/config_test.py | 37 +
.../daos/test_base_relationship_filters.py | 203 +
.../dashboards/export_append_charts_tests.py | 60 +
.../datasets/commands/importers/v1/import_test.py | 58 +
.../datasets/test_datetime_format_detector.py | 4 +-
tests/unit_tests/db_engine_specs/test_bigquery.py | 286 +
tests/unit_tests/db_engine_specs/test_doris.py | 6 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 45 +-
tests/unit_tests/db_engine_specs/test_sqlite.py | 7 +-
tests/unit_tests/db_engine_specs/test_starrocks.py | 75 +-
tests/unit_tests/db_engine_specs/test_trino.py | 156 +-
tests/unit_tests/extensions/ssh_test.py | 180 +
tests/unit_tests/extensions/test_sqlalchemy.py | 47 +-
tests/unit_tests/initialization_test.py | 55 +-
.../mcp_service/chart/tool/test_list_charts.py | 23 +
.../mcp_service/chart/tool/test_update_chart.py | 5 +-
.../dashboard/test_dashboard_schemas.py | 291 +-
.../dashboard/tool/test_dashboard_generation.py | 269 +-
.../dashboard/tool/test_dashboard_tools.py | 96 +
.../dashboard/tool/test_update_dashboard.py | 311 +
.../mcp_service/dataset/tool/test_dataset_tools.py | 268 +-
.../explore/tool/test_generate_explore_link.py | 281 +-
tests/unit_tests/mcp_service/test_jwt_verifier.py | 77 +
tests/unit_tests/mcp_service/test_mcp_config.py | 47 +
tests/unit_tests/mcp_service/test_mcp_server.py | 28 +
tests/unit_tests/models/core_test.py | 16 +
.../unit_tests/models/test_validate_expression.py | 42 +-
.../pandas_postprocessing/test_aggregate.py | 28 +
.../pandas_postprocessing/test_prophet.py | 38 +
tests/unit_tests/queries/query_object_test.py | 1 +
.../reports/notifications/webhook_tests.py | 155 +
tests/unit_tests/result_set_test.py | 90 +
.../unit_tests/row_level_security}/__init__.py | 0
tests/unit_tests/row_level_security/schema_test.py | 64 +
tests/unit_tests/security/api_test.py | 59 +-
tests/unit_tests/security/guest_rls_test.py | 4 +-
.../unit_tests/security/guest_token_audit_test.py | 74 +
tests/unit_tests/security/manager_test.py | 139 +-
tests/unit_tests/sql/parse_tests.py | 11 +
tests/unit_tests/tasks/test_thumbnails.py | 145 +
tests/unit_tests/test_check_secret_key.py | 74 +
tests/unit_tests/test_init_extensions_logging.py | 55 +
tests/unit_tests/test_viz_cache_key.py | 4 +-
tests/unit_tests/utils/csv_tests.py | 87 +-
tests/unit_tests/utils/test_core.py | 5 +-
tests/unit_tests/utils/test_file.py | 22 +-
.../utils/test_playwright_migration_working.py | 99 +
.../unit_tests/utils/test_screenshot_cache_fix.py | 115 +-
tests/unit_tests/utils/version_test.py | 60 +
tests/unit_tests/utils/webdriver_test.py | 101 +-
tests/unit_tests/views/test_base.py | 54 +
tests/unit_tests/views/test_base_theme_helpers.py | 74 +-
tests/unit_tests/views/test_health.py | 69 +
tests/unit_tests/views/test_utils.py | 2 +-
463 files changed, 27172 insertions(+), 8444 deletions(-)
create mode 100644 .github/workflows/scheduled-docker-image-refresh.yml
create mode 100644 .github/workflows/sync-requirements-for-python-dep-upgrade-pr.yml
create mode 100644 CHANGELOG/6.1.0.md
create mode 100644 docs/developer_docs/extensions/extension-points/chat.md
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/database/modal.test.ts
create mode 100644 superset-frontend/packages/superset-core/src/chat/index.ts
create mode 100644 superset-frontend/packages/superset-core/src/navigation/index.ts
create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/test/transformProps.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/components/Echart.test.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/BigNumber/BigNumberPeriodOverPeriod/buildQuery.test.ts
create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/components/Legend.test.tsx
create mode 100644 superset-frontend/src/core/chat/ChatHost.test.tsx
create mode 100644 superset-frontend/src/core/chat/ChatHost.tsx
create mode 100644 superset-frontend/src/core/chat/ChatProvider.test.ts
create mode 100644 superset-frontend/src/core/chat/ChatProvider.ts
create mode 100644 superset-frontend/src/core/chat/index.test.ts
create mode 100644 superset-frontend/src/core/chat/index.ts
create mode 100644 superset-frontend/src/core/navigation/index.test.ts
create mode 100644 superset-frontend/src/core/navigation/index.ts
copy superset-frontend/src/core/{utils.ts => storeUtils.ts} (77%)
create mode 100644 superset-frontend/src/dashboard/reducers/undoableDashboardLayout.test.ts
delete mode 100644 superset-frontend/src/explore/components/DataTableControl/useTableColumns.test.ts
create mode 100644 superset-frontend/src/explore/components/useExploreAdditionalActionsMenu/useExploreAdditionalActionsMenu.test.tsx
create mode 100644 superset-frontend/src/extensions/Namespaces.ts
create mode 100644 superset-frontend/src/features/alerts/hooks/useExecuteReportSchedule.test.ts
create mode 100644 superset-frontend/src/features/alerts/hooks/useExecuteReportSchedule.ts
create mode 100644 superset-frontend/src/features/roles/RoleFormItems.test.tsx
copy superset-frontend/{packages/superset-ui-core/src/utils/makeSingleton.ts => src/utils/sanitizeDocumentTitle.test.ts} (59%)
copy superset-frontend/{packages/superset-ui-core/src/utils/ensureIsArray.ts => src/utils/sanitizeDocumentTitle.ts} (71%)
create mode 100644 superset-frontend/src/views/routePaths.ts
create mode 100644 superset/commands/report/execute_now.py
create mode 100644 superset/mcp_service/dashboard/tool/update_dashboard.py
create mode 100644 superset/mcp_service/explore/schemas.py
create mode 100644 tests/common/assert_utils.py
copy tests/{integration_tests/superset_test_config_sqllab_backend_persist_off.py => unit_tests/cli/test_db_test.py} (53%)
create mode 100644 tests/unit_tests/commands/report/test_execute_now.py
create mode 100644 tests/unit_tests/config_swagger_ui_test.py
create mode 100644 tests/unit_tests/daos/test_base_relationship_filters.py
create mode 100644 tests/unit_tests/dashboards/export_append_charts_tests.py
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_update_dashboard.py
copy {superset-core/src/superset_core/common => tests/unit_tests/row_level_security}/__init__.py (100%)
create mode 100644 tests/unit_tests/row_level_security/schema_test.py
create mode 100644 tests/unit_tests/security/guest_token_audit_test.py
create mode 100644 tests/unit_tests/tasks/test_thumbnails.py
create mode 100644 tests/unit_tests/test_check_secret_key.py
create mode 100644 tests/unit_tests/test_init_extensions_logging.py
create mode 100644 tests/unit_tests/utils/version_test.py
create mode 100644 tests/unit_tests/views/test_health.py