You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by en...@apache.org on 2026/07/03 11:20:20 UTC

(superset) branch fix/104810-date-filter-hour-offset updated (ebcc9903403 -> 879aefc5095)

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

EnxDev pushed a change to branch fix/104810-date-filter-hour-offset
in repository https://gitbox.apache.org/repos/asf/superset.git


    from ebcc9903403 fix: honor dataset Hour Offset in temporal filters (#104810)
     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 b8fd2e9725c feat(websocket,embedded-sdk): replace Jest with modern Vitest (#38308)
     add 25c9f3510ab test(mcp): set embedded on update_dashboard test mock (#41495)
     add d0268442f8b chore(ci): correct actions/cache pin comment to actual version v5.0.5 (#41482)
     add ccbd2842454 chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#41447)
     add 7fc1113c316 fix(telemetry): use Scarf static pixel instead of gateway redirect (#41129)
     add 670f25e5f45 chore(lint): convert explore controls, SqlLab, and misc components to function components (#39461)
     add a70d0556698 feat(helm): use env redis_driver, render additional deployment pod spec (#26040)
     add 7d5e01b6cfb chore(deps-dev): update taospy requirement from >=2.7.21 to >=2.8.9 (#41481)
     add 98d61c5cf89 chore(deps-dev): bump duckdb from 1.5.3 to 1.5.4 (#41480)
     add c3a11e31707 chore(deps): bump sqlalchemy-utils from 0.42.0 to 0.42.1 (#41478)
     add efed2b09aa3 chore(deps-dev): bump @types/node from 25.9.3 to 26.0.0 in /superset-frontend (#41451)
     add b2a26988987 chore: unify Node version (#41500)
     add 6eb51105d01 refactor: update SQLAlchemy case() syntax to 2.0 (#40275)
     add 0c12114ea92 fix(explore): stop metric edits from bleeding across metrics with duplicate optionNames (#41208)
     add a529945d3b7 fix(reports): commit permalink before Playwright navigation (#41051)
     add 90fe1f5b7c4 fix(auth): redirect to login on failure to access dashboard permalink (#40769)
     add 825b5828151 fix(mixed-chart): preserve order_desc and series_limit_metric in buildQuery (#41401)
     add 797e497f4b3 fix(dashboard): suppress favorite status error toast on 404 (#41402)
     add 7926c3a93aa fix(sqllab): preserve query history after tab migration (#41403)
     add 1b7b9ce9485 fix(tags): remove unsatisfiable foreign keys from tagged_object.object_id (#41126)
     add 9dba4d090f7 fix(explore): hide inactive result tables in mixed chart view as table (#37777)
     add a4d5b15955d fix(slack): support org-scoped tokens on Enterprise Grid via SLACK_TE… (#41473)
     add 7edae0817ca chore(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 (#41519)
     add d2daf84fd9b chore(deps): bump uuid from 14.0.0 to 14.0.1 in /superset-frontend (#41524)
     add 5b17c5b2dfc chore(deps): stop Dependabot from opening Babel 8 major bumps (#41534)
     add 0370ac8607b chore(deps-dev): bump unzipper from 0.12.3 to 0.12.5 in /superset-frontend (#41523)
     add e807e66a3e9 chore(deps-dev): bump timezone-mock from 1.4.2 to 1.4.3 in /superset-frontend (#41521)
     add e236d831fd5 chore(deps): bump antd from 6.4.4 to 6.4.5 in /docs (#41518)
     add 43383752672 chore(deps): bump nanoid from 5.1.14 to 5.1.15 in /superset-frontend (#41517)
     add f95ebed8ba7 fix: apply object access checks in tag bulk_create and update commands (#41457)
     add a8045d7f65d chore(deps-dev): bump @swc/plugin-emotion from 14.13.0 to 14.14.0 in /superset-frontend (#41515)
     add 28f6e1e0232 chore(deps-dev): bump @types/node from 25.9.4 to 26.0.0 in /superset-websocket (#41514)
     add 7dcb98e4d27 chore(deps-dev): bump vite from 8.0.14 to 8.1.0 in /superset-embedded-sdk (#41507)
     add d42076d541b fix(tags): make favorite star toggle in Tags list view (#41460)
     add 725265502f4 perf(frontend): migrate lodash imports to lodash-es for tree-shaking (#41511)
     add 07abda50c5a chore(ci): prune orphaned showtime labels in daily cleanup (#41464)
     add 16a3405e3c1 fix(i18n): skip unparseable catalogs when building translation index (#41465)
     add 11a4a17dffc fix(frontend): finish sentence-case conversion for time range buttons (#41488)
     add adc03ce5258 refactor: make import/expression layer SQLAlchemy 2.0-compatible (#41179)
     add 134919ea36d fix(screenshots): catch empty-bytes tiled result and set ERROR on falsy image (#41097)
     add b89b6131492 chore(deps): bump slack-sdk from 3.35.0 to 3.42.0 (#41537)
     add fbe500349d8 chore(deps): bump selenium from 4.44.0 to 4.45.0 (#41475)
     add b32c96733b5 chore(deps-dev): bump fast-uri from 3.0.1 to 3.1.2 in /superset-embedded-sdk (#41508)
     add 20da836c212 chore(deps-dev): bump oxlint from 1.70.0 to 1.71.0 in /superset-frontend (#41544)
     add 1e42aeb53c5 chore(deps): bump swagger-ui-react from 5.32.6 to 5.32.7 in /docs (#41541)
     add 82b6a86ca06 chore(deps-dev): update snowflake-sqlalchemy requirement from <2,>=1.2.4 to >=1.10.2,<2 (#41540)
     add 9380d83dd11 chore(deps-dev): update nzalchemy requirement from >=11.0.2 to >=11.0.2,<11.2 (#41477)
     add 5c272f13152 chore(docs): tighten CSP and remove external widgets (#36685)
     add ba9bd430cb9 fix(a11y): add aria-label to ActionButton span role=button (#41503)
     add ece8d8ffca5 fix(datasource): allow Gamma to load combined datasource list (#41553)
     add 4a32e0b8d13 fix(table): exclude metricSqlExpressions from ownState→extra_form_data spread (#41555)
     add 3b82d2a1706 fix(security): clean up stale can_import permission on ImportExportRestApi (#41309)
     add 765927d681f chore(deps): bump js-yaml from 4.2.0 to 5.0.0 in /docs (#41520)
     add 59196fcac05 chore(deps): bump @swc/core from 1.15.41 to 1.15.43 in /docs (#41542)
     add a009fcec514 chore(deps-dev): bump @swc/core from 1.15.41 to 1.15.43 in /superset-frontend (#41543)
     add 105b8960385 fix(explore): enable free-text entry for temporal D3 format selector in Table chart (#41194)
     add b8b23d6219c fix(bigquery): quote dotted STRUCT columns per-segment in drill to detail (#41462)
     add 56bd8ed0be1 chore(deps): bump azure/setup-helm from 5.0.0 to 5.0.1 (#41570)
     add 2c476485886 chore(deps-dev): bump globals from 17.6.0 to 17.7.0 in /docs (#41571)
     add c4c531a8552 chore(deps): bump actions/cache from 5.0.5 to 6.1.0 (#41572)
     add e0e1831d507 chore(deps): bump actions/setup-java from 5.3.0 to 5.4.0 (#41576)
     add 92f48b07257 chore(deps): bump actions/setup-python from 6.2.0 to 6.3.0 (#41573)
     add 7827d43ea6e fix(embedded): show already-added allowed domains in embed modal (closes #35328) (#41399)
     add 25f7b907611 fix(dashboard): remove stray focus outline on Filter Badge popover (closes #38789) (#41398)
     add ef4c6123b9d fix(sqllab): preserve whitespace in grid result cells (#41135)
     add a2b5fda6610 fix(Table Chart): Show correct cache time moment for Query2 (#37482)
     add bbab644d122 chore(deps-dev): bump typescript-eslint from 8.61.1 to 8.62.0 in /docs (#41575)
     add 7245a092eb5 chore(ci): scope zizmor adhoc-packages on setup-supersetbot action (#41547)
     add 7de77a35bc8 chore(ci): pin @action-validator versions in GHA validator workflow (#41545)
     add 95d688fb057 build(embedded-sdk): remove test files and related files from build artifact to be published (#41584)
     add 2b6806c0904 chore(deps): bump js-yaml from 5.0.0 to 5.1.0 in /docs (#41566)
     add c11fa206ce3 feat(mcp): add duplicate_dashboard tool (#40959)
     add c60d8bb656f feat(mcp): add tags + typed metadata fields to update_dashboard (#40957)
     add 42a5f64256b chore(ci): silence zizmor adhoc-packages note for supersetbot install (#41546)
     add e15dc5735fb fix(reports): pre-commit tab permalinks before state machine transaction (#41096)
     add 805c12ef744 fix(dashboard): prevent double-click on create dashboard from creating  duplicates (#40833)
     add 4bf203ee708 chore(config): default SMTP_SSL_SERVER_AUTH to True (#40647)
     add a8f43890b1d chore(superset-ui-core): forward-compat fixes for TypeScript 6.0 (Phase B) (#39535)
     add fd86eec889c chore(deps): bump echarts from 5.6.0 to 6.1.0 in /superset-frontend (#40264)
     add 1e130feb807 chore(deps): bump marshmallow-union from 0.1.15 to 0.1.15.post1 (#41539)
     add bf88c628149 feat(mcp): add manage_native_filters tool (#40960)
     add 2bd9ab4c597 feat(mcp): add remove_chart_from_dashboard tool (#40958)
     add fd9c84be430 feat(mcp): add get_dashboard_datasets tool (#40961)
     add 2a1f632daa9 fix(dashboard): surface size, limit, and config key in oversized dashboard error (#41532)
     add 35194fe4d59 fix(i18n): key translation-regression check on per-msgid transitions (#41596)
     add ce9b9b05133 feat(i18n): add Japanese (ja) translations (AI-generated, needs review) (#41466)
     add 3e88b487b32 fix(point-cluster-map): guard invalid point radii (#40393)
     add 7cc7e9f6e34 fix(async-query): prevent JWT InvalidSubjectError for guest users (#37862)
     add 16e1f41ceff chore(deps): bump swagger-ui-react from 5.32.7 to 5.32.8 in /docs (#41614)
     add b9e3f0aa1e2 feat(soft-delete): gate soft delete behind a temporary SOFT_DELETE release toggle (#41166)
     add 36510200147 fix(sql): cap parser input length via SQL_MAX_PARSE_LENGTH config (#40499)
     add 2da2db6c7c0 feat(sql): schema-qualified table denylist + information_schema/lo_* defaults (#41120)
     add 6d2b94ceb80 fix(currency): derive default symbol position from locale when unset (#40931)
     add 438d4d569f8 test(sqllab): repair broken TablePreview and SavedQueryList jest tests (#41628)
     add da4cae16574 chore(deps): bump fastmcp from >=3.2.4 to >=3.4.2 (#41592)
     add 7f4cac63c90 fix(mcp): escape LIKE wildcards in find_users to prevent user enumeration (#41593)
     add 55b2da75f65 fix(echarts): allow forcing categorical x-axis for temporal columns (#41221)
     add 2d2a72b721f fix(sqllab): show non-ASCII text in array/JSON columns instead of \uXXXX escapes (#41533)
     add 792d6776349 fix(reports): respect CSV_EXPORT sep and decimal config in email reports (#38616)
     add b3c709b3d5e feat(i18n): backfill German (de) translations (AI-generated, needs review) (#41608)
     add eeacd9b6ddc feat(i18n): backfill Latvian (lv) translations (AI-generated, needs review) (#41612)
     add 692f81d9451 feat(i18n): backfill Finnish (fi) translations (AI-generated, needs review) (#41613)
     add 7d7c3ce7239 feat(ci): install `helm-docs` directly instead of using whole `brew` setup (#41629)
     add b7d5de8e524 fix(sqllab): truncate long tab names in the overflow ("...") dropdown (#41585)
     add bed1034c2f7 refactor(frontend): centralize subdirectory URL prefixing behind nav helpers (#39925)
     add 6c579196474 chore(codeowners): update maintainer assignments (#41634)
     add e0a3b1c10cf fix(mcp): document select_columns valid fields and URL scheme for preview tools (#41595)
     add 393adc45356 refactor(db): composite PK on M2M association tables (#39859)
     add e58ce1cf39d fix(dashboard): pre-filter time grain for display controls (#40000)
     add f2e322c3c03 chore(deps-dev): bump sigstore from 4.1.0 to 4.1.1 in /superset-frontend (#41638)
     add 8be255de408 chore(i18n): harden backfill_po — full language-name map + resilient batch translation (#41644)
     add af0a55a4f34 feat(dashboards): soft-delete and restore (#40128)
     add b3197c9b5e0 fix(table-chart): fix "Search by" control visibility and improve table controls layout (#36073)
     add c718f717cbc feat(i18n): backfill Spanish (es) translations (AI-generated, needs review) (#41609)
     add d1f7dd9c672 fix(deps): override fast-uri to 3.1.3 to fix CVE-2026-13676 (#41631)
     add 6bdcb7a83a1 feat(i18n): backfill Czech (cs) translations (AI-generated, needs review) (#41647)
     add 661d362580d feat(i18n): backfill new safe-link strings in de/lv/fi (AI-generated, needs review) (#41646)
     add 706ff94f0bf feat(i18n): backfill Slovak (sk) translations (AI-generated, needs review) (#41640)
     add d57d69d3a68 feat(i18n): backfill Ukrainian (uk) translations (AI-generated, needs review) (#41645)
     add 748060d35e7 feat(i18n): backfill Thai (th) translations (AI-generated, needs review) (#41641)
     add e3bd6e5c70c chore(deps-dev): bump @playwright/test from 1.61.0 to 1.61.1 in /superset-frontend (#41616)
     add d507be2555f chore(deps): bump geostyler-openlayers-parser from 5.7.0 to 5.7.1 in /superset-frontend (#41615)
     add c3f5e997a16 feat(mcp): chart type plugin registry for extensible generate_chart (#39922)
     add b2af954e7b8 chore(deps-dev): bump @types/node from 26.0.0 to 26.0.1 in /superset-frontend (#41675)
     add 246bbeb4089 chore(deps): bump google-auth-library from 10.7.0 to 10.9.0 in /superset-frontend (#41672)
     add a919dda2ac3 fix(sqllab): filter results table when typing in the search box (#41625)
     add 8343a4fff80 chore(deps-dev): bump @types/node from 26.0.0 to 26.0.1 in /superset-websocket (#41666)
     add a48ca9ce723 fix(sqllab): reject blank saved query and dataset names (#41624)
     add 0a25faabbd6 fix(dashboard): align chart menu button hover state (#41683)
     add 8210904e958 chore(deps): bump nanoid from 5.1.15 to 5.1.16 in /superset-frontend (#41673)
     add 80344852b72 chore(deps): bump docusaurus-plugin-openapi-docs from 5.0.2 to 5.1.0 in /docs (#41671)
     add 2992d7b4c87 feat(database): add databricks oauth support (#41421)
     add be46d65e3b4 fix(dao): SQL-faithful NULL and non-string handling in LIKE-family operators (#41653)
     add afebdd58d16 chore(deps): bump docusaurus-theme-openapi-docs from 5.0.2 to 5.1.0 in /docs (#41669)
     add 6309d08d59f feat(helm): standardize to Kubernetes recommended labels (app.kubernetes.io/*) (#39350)
     add d7e2f18d005 fix(dockerfile): allow GH auth-less fetch of `uv` when building Superset image locally (#41682)
     add 7214e9f9f60 build(dev-deps): upgrade Storybook to v10 in docs subproject (#41679)
     add c1bd45f5618 fix(ci): allow showtime to check out fork PR code under checkout v7 (#41643)
     add e3b2992d6e1 chore(deps): update lodash-es requirement from ^4.17.21 to ^4.18.1 in /superset-frontend/packages/superset-ui-core (#41565)
     add be29d877d2f chore(deps-dev): bump @storybook/addon-docs from 10.4.5 to 10.4.6 in /superset-frontend (#41375)
     add 9769380d6dc feat(i18n): backfill Polish (pl) translations (AI-generated, needs review) (#41660)
     add 6c2c814b5c0 fix(dashboard): not filterable column now not emitting cross-filters in table charts (#30827)
     add aa40934e7f3 fix(i18n): compile fuzzy translations into the backend .mo files (#41648)
     add 4c193d4dbce feat(i18n): wrap description strings in translation function (#41626)
     add 139df20cde6 fix(i18n): update German security menu translations (#41587)
     add 19e94855a1f fix(explore): prevent Results FilterInput from stealing focus during remount (#41100)
     add 8bf3933972f fix(dashboard): show a not-found state for a deleted dashboard (#41686)
     add 1c74185a71f chore(ci): correct codeql-action version comment to match pinned SHA (#41695)
     add f9bcf189c9f chore(ci): suppress zizmor adhoc-packages on GHA validator install (#41694)
     add 83965b4be87 chore(ci): correct codeql-action version pin comment to v4.36.2 (#41693)
     add 358493a2c50 feat(i18n): backfill Brazilian Portuguese (pt_BR) translations (AI-generated, needs review) (#41659)
     add 9e087702918 feat(i18n): backfill Slovenian (sl) translations (AI-generated, needs review) (#41658)
     add 7eb93c60a3e feat(i18n): backfill Catalan (ca) translations (AI-generated, needs review) (#41657)
     add f61d6d8b84a feat(i18n): backfill Māori (mi) translations (AI-generated, needs review) (#41656)
     add 03703843b7d feat(i18n): backfill French (fr) translations (AI-generated, needs review) (#41655)
     add 66bf81b997a feat(i18n): backfill Russian (ru) translations (AI-generated, needs review) (#41649)
     add 22c3f56d0a7 fix(redshift): suppress unavoidable pkg_resources deprecation warning (#41691)
     add a30846881b8 test(ci): stabilize master checks (#41650)
     add ab0e77c1cb7 fix(embedded): allow guest users to sort by visible columns (#37371)
     add 5bbab86a07a fix(schemas): rename deprecated query fields regardless of falsy values (#41263)
     add d8832c382d4 fix(views): emit deprecated-endpoint log warning once per endpoint per process (#41286)
     add a151edeff31 feat(i18n): backfill Dutch (nl) translations (AI-generated, needs review) (#41704)
     add bdc610c5720 fix(db): use a private engine for prequery connections to avoid listener race (#41642)
     add 55088e10da0 feat(database-modal): add validation loading state and duplicate name check (#36880)
     add 49fcaf24205 feat(i18n): backfill Turkish (tr) translations (AI-generated, needs review) (#41702)
     add 47bc3e2dc1c fix: correct Security menu case for MySQL deployments (#40527)
     add ceadce234b9 chore(deps-dev): bump @storybook/react-webpack5 from 10.4.4 to 10.4.6 in /superset-frontend (#41371)
     add 7cbdc726e33 chore(deps-dev): bump @storybook/addon-links from 10.4.4 to 10.4.6 in /superset-frontend (#41366)
     add 6d22697cba9 feat(theming): make core components fully configurable via theme tokens (#40985)
     add 46a153d17e1 feat(i18n): backfill Persian (Farsi) (fa) translations (AI-generated, needs review) (#41701)
     add 4f37e955b54 fix(plugin-chart-echarts): prevent trendline stroke clipping at chart edges (#37918)
     add 879aefc5095 Merge branch 'master' into fix/104810-date-filter-hour-offset

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |    16 +-
 .github/actions/setup-backend/action.yml           |     2 +-
 .github/actions/setup-supersetbot/action.yml       |     2 +
 .github/dependabot.yml                             |     7 +
 .github/workflows/bump-python-package.yml          |     2 +-
 .github/workflows/codeql-analysis.yml              |     4 +-
 .github/workflows/generate-FOSSA-report.yml        |     2 +-
 .github/workflows/github-action-validator.yml      |     7 +-
 .github/workflows/license-check.yml                |     2 +-
 .github/workflows/pre-commit.yml                   |    19 +-
 .github/workflows/release.yml                      |     4 +-
 .../workflows/scheduled-docker-image-refresh.yml   |   177 +
 .github/workflows/showtime-cleanup.yml             |     7 +-
 .github/workflows/showtime-trigger.yml             |     7 +-
 .github/workflows/superset-docs-deploy.yml         |     2 +-
 .github/workflows/superset-helm-lint.yml           |     2 +-
 .github/workflows/superset-helm-release.yml        |     2 +-
 .github/workflows/superset-websocket.yml           |     4 +
 .github/workflows/tag-release.yml                  |     6 +
 .pre-commit-config.yaml                            |     0
 Dockerfile                                         |     4 +-
 README.md                                          |    17 +-
 UPDATING.md                                        |   149 +
 docker/.env                                        |     2 +
 docs/.nvmrc                                        |     2 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |    17 +-
 .../configuration/configuring-superset.mdx         |    18 +
 docs/admin_docs/installation/docker-compose.mdx    |     5 +-
 docs/admin_docs/installation/kubernetes.mdx        |    12 +-
 docs/admin_docs/security/securing_superset.mdx     |    19 +
 docs/developer_docs/contributing/howtos.md         |    17 +-
 .../extensions/contribution-types.md               |    23 +-
 .../extensions/extension-points/chat.md            |   141 +
 docs/developer_docs/sidebars.js                    |     2 +
 docs/docs/faq.mdx                                  |     4 +-
 docs/docs/index.mdx                                |    17 +-
 docs/docusaurus.config.ts                          |     2 +-
 docs/package.json                                  |    35 +-
 docs/src/webpack.extend.ts                         |    54 -
 docs/static/.htaccess                              |     9 +-
 docs/static/feature-flags.json                     |     6 +
 .../version-6.0.0/configuration/databases.mdx      |    74 +
 .../version-6.0.0/intro.md                         |    17 +-
 .../version-6.1.0/index.mdx                        |    17 +-
 .../version-6.1.0/intro.md                         |    17 +-
 docs/yarn.lock                                     |  2024 ++-
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |    24 +-
 helm/superset/README.md.gotmpl                     |    15 +
 helm/superset/templates/_helpers.tpl               |    78 +-
 helm/superset/templates/configmap-superset.yaml    |     8 +-
 helm/superset/templates/deployment-beat.yaml       |    17 +-
 helm/superset/templates/deployment-flower.yaml     |    17 +-
 helm/superset/templates/deployment-worker.yaml     |    21 +-
 helm/superset/templates/deployment-ws.yaml         |    17 +-
 helm/superset/templates/deployment.yaml            |    21 +-
 helm/superset/templates/hpa-node.yaml              |     8 +-
 helm/superset/templates/hpa-worker.yaml            |     8 +-
 helm/superset/templates/ingress.yaml               |     8 +-
 helm/superset/templates/init-job.yaml              |    15 +-
 helm/superset/templates/pdb-beat.yaml              |     8 +-
 helm/superset/templates/pdb-flower.yaml            |     8 +-
 helm/superset/templates/pdb-worker.yaml            |     8 +-
 helm/superset/templates/pdb-ws.yaml                |     8 +-
 helm/superset/templates/pdb.yaml                   |     8 +-
 helm/superset/templates/secret-env.yaml            |     9 +-
 .../superset/templates/secret-superset-config.yaml |     8 +-
 helm/superset/templates/secret-ws.yaml             |     8 +-
 helm/superset/templates/service-flower.yaml        |    11 +-
 helm/superset/templates/service-ws.yaml            |    11 +-
 helm/superset/templates/service.yaml               |    11 +-
 helm/superset/templates/serviceaccount.yaml        |     8 +-
 helm/superset/tests/labels_test.yaml               |   520 +
 helm/superset/values.yaml                          |    13 +
 pyproject.toml                                     |    19 +-
 pytest.ini                                         |     2 +-
 requirements/base.txt                              |    10 +-
 requirements/development.txt                       |    78 +-
 scripts/translations/backfill_po.py                |    99 +-
 scripts/translations/build_translation_index.py    |    14 +-
 .../translations/check_translation_regression.py   |   229 +-
 superset-embedded-sdk/.nvmrc                       |     2 +-
 superset-embedded-sdk/CONTRIBUTING.md              |     1 +
 superset-embedded-sdk/README.md                    |    44 +-
 superset-embedded-sdk/babel.config.js              |     6 +-
 superset-embedded-sdk/package-lock.json            | 11755 +++--------------
 superset-embedded-sdk/package.json                 |    11 +-
 superset-embedded-sdk/release-if-necessary.js      |    20 +-
 superset-embedded-sdk/src/const.ts                 |     6 +-
 .../src/guestTokenRefresh.test.ts                  |    11 +-
 superset-embedded-sdk/src/guestTokenRefresh.ts     |    20 +-
 superset-embedded-sdk/src/index.ts                 |   107 +-
 superset-embedded-sdk/src/withTimeout.test.ts      |     7 +-
 superset-embedded-sdk/tsconfig.json                |     8 +-
 superset-embedded-sdk/webpack.config.js            |    16 +-
 superset-frontend/babel.config.js                  |     1 -
 .../cypress/e2e/database/modal.test.ts             |   118 -
 .../cypress-base/cypress/utils/urls.ts             |     9 +-
 superset-frontend/cypress-base/package-lock.json   |   529 +-
 superset-frontend/cypress-base/package.json        |     1 +
 superset-frontend/jest.config.js                   |     3 +
 superset-frontend/package-lock.json                |  1767 +--
 superset-frontend/package.json                     |    46 +-
 .../packages/superset-core/package.json            |    11 +
 .../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/theme/Theme.tsx     |     2 +-
 .../packages/superset-core/src/theme/types.ts      |    21 +
 .../packages/superset-core/src/utils/isBlank.ts    |     2 +-
 .../packages/superset-core/src/views/index.ts      |    10 +-
 .../superset-ui-chart-controls/package.json        |     3 +-
 .../src/components/CertifiedIconWithTooltip.tsx    |     2 +-
 .../src/operators/sortOperator.ts                  |     2 +-
 .../src/sections/advancedAnalytics.tsx             |    20 +
 .../components/RadioButtonControl.tsx              |     2 +-
 .../src/shared-controls/customControls.tsx         |     7 +-
 .../src/shared-controls/sharedControls.tsx         |     2 +-
 .../superset-ui-chart-controls/src/types.ts        |     1 +
 .../src/utils/getColorFormatters.ts                |     2 +-
 .../test/operators/histogramOperator.test.ts       |     2 +-
 .../components/RadioButtonControl.test.tsx         |    45 +
 .../test/shared-controls/customControls.test.tsx   |    36 +-
 .../packages/superset-ui-core/package.json         |     9 +-
 .../src/chart/clients/ChartClient.ts               |     4 +-
 .../src/chart/components/StatefulChart.tsx         |     7 +-
 .../src/color/CategoricalColorNamespace.ts         |     2 +-
 .../src/components/ActionButton/index.tsx          |     1 +
 .../src/components/AsyncEsmComponent/index.tsx     |    10 +-
 .../src/components/Button/Button.stories.tsx       |     5 +
 .../src/components/Button/Button.test.tsx          |    62 +
 .../src/components/Button/index.tsx                |    80 +-
 .../src/components/Button/types.ts                 |    12 +
 .../DropdownButton/DropdownButton.stories.tsx      |     5 +
 .../DropdownButton/DropdownButton.test.tsx         |    76 +
 .../src/components/DropdownButton/index.tsx        |    17 +-
 .../src/components/DropdownButton/types.ts         |     8 +
 .../DropdownContainer.stories.tsx                  |     2 +-
 .../DropdownContainer/DropdownContainer.tsx        |     4 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |     2 +-
 .../superset-ui-core/src/components/Form/types.ts  |     1 +
 .../src/components/IconTooltip/index.tsx           |     1 +
 .../src/components/Icons/AntdEnhanced.tsx          |    13 +-
 .../src/components/InfoTooltip/index.tsx           |     2 +-
 .../src/components/Label/index.tsx                 |     2 +-
 .../src/components/MetadataBar/MetadataBar.tsx     |     2 +-
 .../src/components/Modal/Modal.tsx                 |     2 +-
 .../src/components/ModalTrigger/index.tsx          |    29 +-
 .../src/components/PageHeaderWithActions/index.tsx |     5 +-
 .../src/components/SafeMarkdown/SafeMarkdown.tsx   |    13 +-
 .../src/components/Select/AsyncSelect.tsx          |    84 +-
 .../src/components/Select/Select.stories.tsx       |     2 +-
 .../src/components/Select/Select.test.tsx          |   121 +
 .../src/components/Select/Select.tsx               |    90 +-
 .../src/components/Select/styles.tsx               |    10 +-
 .../src/components/Select/types.ts                 |    12 +
 .../src/components/Table/VirtualTable.tsx          |     4 +-
 .../Table/utils/InteractiveTableUtils.ts           |     2 +-
 .../src/components/TableCollection/index.tsx       |    18 +-
 .../src/components/TableView/TableView.tsx         |     2 +-
 .../TelemetryPixel/TelemetryPixel.test.tsx         |    25 +-
 .../src/components/TelemetryPixel/index.tsx        |    23 +-
 .../src/components/TimezoneSelector/index.tsx      |    12 +-
 .../src/connection/SupersetClient.ts               |     1 +
 .../src/connection/SupersetClientClass.ts          |    46 +-
 .../src/connection/callApi/parseResponse.ts        |    35 +-
 .../superset-ui-core/src/connection/index.ts       |     3 +
 .../src/connection/normalizeBackendUrls.ts         |    59 +
 .../superset-ui-core/src/connection/types.ts       |    13 +-
 .../src/currency-format/CurrencyFormatter.ts       |    38 +-
 .../src/currency-format/currencyLocale.ts          |    52 +
 .../superset-ui-core/src/currency-format/index.ts  |     6 +
 .../src/currency-format/symbolPosition.ts          |    93 +
 .../src/query/api/legacy/getDatasourceMetadata.ts  |     2 +-
 .../superset-ui-core/src/query/normalizeOrderBy.ts |     2 +-
 .../src/query/normalizeTimeColumn.ts               |     2 +-
 .../superset-ui-core/src/query/types/Dashboard.ts  |     1 +
 .../src/time-comparison/fetchTimeRange.ts          |    12 +-
 .../src/time-comparison/getTimeOffset.ts           |     2 +-
 .../src/utils/convertKeysToCamelCase.ts            |     2 +-
 .../superset-ui-core/src/utils/lruCache.ts         |     7 +-
 .../superset-ui-core/src/utils/mapStyles.test.ts   |    16 +
 .../superset-ui-core/src/utils/mapStyles.ts        |     3 +
 .../packages/superset-ui-core/src/utils/merge.ts   |     2 +-
 .../test/chart/clients/ChartClient.test.ts         |    26 +-
 .../test/components/SafeMarkdown.test.tsx          |    32 +
 .../test/connection/SupersetClient.test.ts         |     6 +-
 .../SupersetClientAppRootContract.test.ts          |   113 +
 .../test/connection/SupersetClientClass.test.ts    |    71 +
 .../test/connection/normalizeBackendUrls.test.ts   |    89 +
 .../test/currency-format/CurrencyFormatter.test.ts |    52 +-
 .../test/currency-format/currencyLocale.test.ts    |    65 +
 .../test/currency-format/symbolPosition.test.ts    |    74 +
 .../query/api/legacy/getDatasourceMetadata.test.ts |     4 +-
 .../packages/superset-ui-core/types/assets.d.ts    |     1 +
 .../playwright/pages/DashboardPage.ts              |     4 +-
 .../tests/dataset/create-dataset.spec.ts           |     3 +-
 superset-frontend/playwright/utils/urls.ts         |     2 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   Bin 11215237 -> 11681332 bytes
 .../src/countries/morocco.geojson                  |   Bin 53627 -> 47809 bytes
 .../legacy-plugin-chart-world-map/src/WorldMap.ts  |    34 +-
 .../test/WorldMap.test.ts                          |   263 +-
 .../plugins/legacy-preset-chart-nvd3/package.json  |     3 +-
 .../legacy-preset-chart-nvd3/src/NVD3Vis.ts        |     2 +-
 .../plugin-chart-ag-grid-table/package.json        |     3 +-
 .../src/AgGridTable/index.tsx                      |     2 +-
 .../src/AgGridTableChart.tsx                       |     2 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |    32 +-
 .../src/controlPanel.tsx                           |     2 +-
 .../src/transformProps.ts                          |     2 +-
 .../plugin-chart-ag-grid-table/src/utils/extent.ts |     2 +-
 .../src/utils/getInitialFilterModel.ts             |     2 +-
 .../test/buildQuery.test.ts                        |    69 +
 .../plugins/plugin-chart-cartodiagram/package.json |     3 +-
 .../src/components/OlChartMap.tsx                  |     2 +-
 .../plugin-chart-cartodiagram/src/plugin/index.ts  |     3 +-
 .../src/util/transformPropsUtil.ts                 |     2 +-
 .../plugins/plugin-chart-echarts/package.json      |     3 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     2 +-
 .../BigNumberPeriodOverPeriod/buildQuery.ts        |     2 +-
 .../BigNumberPeriodOverPeriod/controlPanel.ts      |     2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/index.ts   |     3 +-
 .../useOverflowDetection.ts                        |     2 +-
 .../BigNumberWithTrendline/transformProps.ts       |    16 +-
 .../src/Gauge/transformProps.ts                    |     2 +-
 .../src/Heatmap/transformProps.ts                  |     2 +-
 .../src/Histogram/transformProps.ts                |     2 +-
 .../src/MixedTimeseries/buildQuery.ts              |    13 +-
 .../src/MixedTimeseries/controlPanel.tsx           |    21 +-
 .../src/MixedTimeseries/transformProps.ts          |    28 +-
 .../src/Sunburst/controlPanel.tsx                  |    14 +
 .../src/Sunburst/transformProps.ts                 |     4 +
 .../src/Timeseries/buildQuery.ts                   |     6 +
 .../src/Timeseries/transformProps.ts               |    13 +-
 .../src/Timeseries/transformers.ts                 |     4 +
 .../plugins/plugin-chart-echarts/src/constants.ts  |     4 +
 .../plugin-chart-echarts/src/utils/annotation.ts   |     2 +-
 .../plugin-chart-echarts/src/utils/series.ts       |     2 +-
 .../src/utils/themeOverrides.ts                    |     2 +-
 .../plugin-chart-echarts/src/utils/tooltip.ts      |    50 +-
 .../plugin-chart-echarts/src/utils/treeBuilder.ts  |    16 +-
 .../test/BigNumber/transformProps.test.ts          |    16 +-
 .../test/MixedTimeseries/buildQuery.test.ts        |    36 +-
 .../test/MixedTimeseries/transformProps.test.ts    |   195 +-
 .../test/Sunburst/transformProps.test.ts           |    54 +-
 .../test/Timeseries/transformProps.test.ts         |    41 +
 .../test/utils/treeBuilder.test.ts                 |   375 +
 .../plugins/plugin-chart-handlebars/package.json   |     3 +-
 .../src/components/Handlebars/HandlebarsViewer.tsx |     2 +-
 .../plugins/plugin-chart-handlebars/src/consts.ts  |     2 +-
 .../src/plugin/controls/orderBy.tsx                |     2 +-
 .../plugin-chart-point-cluster-map/package.json    |     2 +-
 .../src/components/ScatterPlotOverlay.tsx          |     8 +-
 .../test/ScatterPlotOverlay.test.tsx               |    52 +-
 .../plugins/plugin-chart-table/package.json        |     3 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    54 +-
 .../DataTable/components/SearchSelectDropdown.tsx  |    17 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    29 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |    48 +-
 .../plugin-chart-table/src/controlPanel.tsx        |     2 +-
 .../plugin-chart-table/src/transformProps.ts       |     7 +-
 .../plugins/plugin-chart-table/src/utils/extent.ts |     2 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |    34 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |    77 +
 .../plugins/plugin-chart-word-cloud/package.json   |     3 +-
 .../src/chart/WordCloud.tsx                        |     2 +-
 .../plugin/controls/ColorSchemeControl/index.tsx   |     2 +-
 .../plugins/preset-chart-deckgl/package.json       |     3 +-
 .../preset-chart-deckgl/src/DeckGLContainer.tsx    |     2 +-
 .../preset-chart-deckgl/src/Multi/Multi.tsx        |     2 +-
 .../src/components/Legend.test.tsx                 |    71 +
 .../preset-chart-deckgl/src/components/Legend.tsx  |    58 +-
 .../plugins/preset-chart-deckgl/src/factory.tsx    |     2 +-
 .../src/utilities/HandlebarsRenderer.tsx           |     2 +-
 .../src/utilities/TooltipTemplateControl.tsx       |     2 +-
 .../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 +-
 .../spec/helpers/sourceTreeScanner.ts              |   183 +
 .../spec/helpers/withApplicationRoot.ts            |    53 +
 .../src/SqlLab/SqlLabGlobalStyles.tsx              |    30 +
 .../src/SqlLab/actions/sqlLab.test.ts              |    27 +-
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |     8 +-
 .../src/SqlLab/components/App/App.test.tsx         |     4 +-
 .../src/SqlLab/components/App/index.tsx            |   198 +-
 .../src/SqlLab/components/AppLayout/index.tsx      |     2 +-
 .../components/EditorWrapper/useKeywords.test.ts   |    62 +-
 .../SqlLab/components/EditorWrapper/useKeywords.ts |    10 +-
 .../src/SqlLab/components/PopEditorTab/index.tsx   |     2 +-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |     2 +-
 .../src/SqlLab/components/QueryHistory/index.tsx   |     2 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |     5 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |   168 +
 .../src/SqlLab/components/ResultSet/index.tsx      |    17 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |    38 +
 .../SqlLab/components/SaveDatasetModal/index.tsx   |    18 +-
 .../SqlLab/components/SaveQuery/SaveQuery.test.tsx |    28 +
 .../src/SqlLab/components/SaveQuery/index.tsx      |     9 +-
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx     |     2 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |     4 +-
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |   428 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |    84 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |   303 +-
 .../components/TablePreview/TablePreview.test.tsx  |     6 +-
 .../components/TemplateParamsEditor/index.tsx      |     2 +-
 .../src/SqlLab/hooks/useQueryEditor/index.ts       |     2 +-
 .../middlewares/persistSqlLabStateEnhancer.ts      |     2 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.ts    |     2 +-
 .../SqlLab/utils/reduxStateToLocalStorageHelper.ts |     2 +-
 ...zationTimeGrainsTransformer.integration.test.ts |   153 +
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |    25 +-
 .../TimeGrainPreFilter.integration.test.tsx        |   181 +
 .../components/TimeGrain/types.ts                  |     1 +
 .../src/components/AlteredSliceTag/index.tsx       |     2 +-
 .../src/components/Chart/ChartRenderer.tsx         |     2 +-
 .../components/Chart/DrillBy/DrillByModal.test.tsx |     2 +-
 .../Chart/DrillBy/DrillBySubmenu.test.tsx          |    13 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |     2 +-
 .../src/components/Chart/DrillDetail/utils.ts      |     2 +-
 .../src/components/Chart/chartAction.ts            |     4 +-
 .../src/components/Chart/chartReducer.ts           |     2 +-
 .../Chart/useDrillDetailMenuItems/index.tsx        |     2 +-
 .../CopyToClipboard/CopyToClipboard.test.tsx       |    29 +
 .../src/components/CopyToClipboard/index.tsx       |   183 +-
 .../components/Datasource/FoldersEditor/index.tsx  |     2 +-
 .../CollectionTable/CollectionTable.test.tsx       |     2 +-
 .../components/CollectionTable/index.tsx           |   731 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |  2044 +--
 .../DashboardLinksExternal.test.tsx                |    10 +-
 .../components/DashboardLinksExternal/index.tsx    |     2 +-
 .../tests/DatasourceEditor.test.tsx                |    58 +-
 .../tests/DatasourceEditorCurrency.test.tsx        |    14 +-
 .../src/components/DynamicPlugins/index.tsx        |     2 +-
 .../src/components/ErrorBoundary/index.tsx         |     1 +
 .../src/components/FacePile/index.tsx              |     2 +-
 .../src/components/FilterableTable/index.tsx       |    20 +-
 .../src/components/GridTable/Header.test.tsx       |   186 +-
 .../src/components/GridTable/Header.tsx            |    58 +-
 .../src/components/GridTable/index.tsx             |    18 +
 .../src/components/ListView/CardCollection.tsx     |     2 +-
 .../src/components/ListView/CrossLinks.test.tsx    |     7 +-
 .../src/components/ListView/CrossLinks.tsx         |     2 +-
 .../ListView/Filters/CompactSelectPanel.tsx        |     2 +-
 .../src/components/ListView/Filters/TimeRange.tsx  |     4 +-
 superset-frontend/src/components/ListView/utils.ts |     2 +-
 .../StreamingExportModal/useStreamingExport.ts     |     6 +-
 superset-frontend/src/components/Tag/index.tsx     |     2 +-
 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     |    98 +
 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 +-
 .../src/dashboard/actions/dashboardState.test.ts   |    96 +-
 .../src/dashboard/actions/dashboardState.ts        |    21 +-
 .../src/dashboard/actions/datasources.ts           |     2 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |     2 +-
 .../src/dashboard/actions/nativeFilters.ts         |     2 +-
 .../src/dashboard/components/ColorSchemeSelect.tsx |     2 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |     2 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     9 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |     8 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    12 +-
 .../DashboardBuilder/DashboardWrapper.tsx          |     2 +-
 .../EmbeddedModal/EmbeddedModal.test.tsx           |    12 +
 .../dashboard/components/EmbeddedModal/index.tsx   |     2 +-
 .../DetailsPanel/DetailsPanel.test.tsx             |    17 +
 .../dashboard/components/FiltersBadge/Styles.tsx   |    12 +
 .../dashboard/components/FiltersBadge/index.tsx    |     2 +-
 .../dashboard/components/Header/Header.test.tsx    |    28 +
 .../src/dashboard/components/Header/index.tsx      |     4 +-
 .../Header/useHeaderActionsDropdownMenu.tsx        |     2 +-
 .../dashboard/components/PropertiesModal/index.tsx |     2 +-
 .../src/dashboard/components/SliceAdder.test.tsx   |    10 +-
 .../src/dashboard/components/SliceAdder.tsx        |     2 +-
 .../SliceHeaderControls.subdirectory.test.tsx      |   172 +
 .../SliceHeaderControls.test.tsx                   |   112 +
 .../components/SliceHeaderControls/index.tsx       |    24 +-
 .../components/SyncDashboardState/index.tsx        |     2 +-
 .../URLShortLinkButton/URLShortLinkButton.test.tsx |     9 +-
 .../src/dashboard/components/dnd/handleHover.ts    |     2 +-
 .../components/gridComponents/Chart/Chart.tsx      |    65 +-
 .../gridComponents/Tab/Tab.subdirectory.test.tsx   |   146 +
 .../components/gridComponents/Tab/Tab.test.tsx     |    31 +
 .../components/gridComponents/Tab/Tab.tsx          |     5 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |     2 +-
 .../components/gridComponents/Tabs/Tabs.tsx        |     2 +-
 .../FilterBar/FilterBar.subdirectory.test.ts       |   207 +
 .../FilterControls/FilterValue.timeGrain.test.ts   |    60 -
 .../FilterBar/FilterControls/FilterValue.tsx       |    57 +-
 .../FilterBar/FilterControls/utils.ts              |     2 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |     2 +-
 .../components/nativeFilters/FilterBar/index.tsx   |     8 +-
 .../components/nativeFilters/FilterBar/utils.ts    |     2 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    18 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |     2 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |     2 +-
 .../hooks/useItemStateManager.ts                   |     2 +-
 .../FiltersConfigModal/hooks/useModalSaveLogic.ts  |     2 +-
 .../transformers/customizationTransformer.ts       |     8 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |     1 +
 .../dashboard/containers/DashboardPage.test.tsx    |    45 +-
 .../src/dashboard/containers/DashboardPage.tsx     |    42 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |     2 +-
 .../src/dashboard/reducers/datasources.ts          |     2 +-
 .../dashboard/util/activeAllDashboardFilters.ts    |     2 +-
 .../src/dashboard/util/activeDashboardFilters.ts   |     2 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |     2 +-
 .../src/dashboard/util/crossFilters.ts             |     2 +-
 .../src/dashboard/util/getDashboardUrl.ts          |     2 +-
 .../dashboard/util/getFilterScopeFromNodesTree.ts  |     2 +-
 .../src/dashboard/util/getFilterScopeNodesTree.ts  |     2 +-
 .../src/dashboard/util/risonFilters.ts             |    24 +-
 superset-frontend/src/dataMask/reducer.ts          |     2 +-
 superset-frontend/src/embedded/index.tsx           |    80 +-
 superset-frontend/src/embedded/utils.test.ts       |     2 +-
 superset-frontend/src/embedded/utils.ts            |     2 +-
 .../src/explore/actions/saveModalActions.ts        |     2 +-
 .../src/explore/components/Control.tsx             |     2 +-
 .../explore/components/ControlPanelsContainer.tsx  |     2 +-
 .../DataTableControl/FilterInput.test.tsx          |    43 +-
 .../explore/components/DataTableControl/index.tsx  |    17 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |    43 +-
 .../components/DataTableControls.tsx               |     2 +-
 .../DataTablesPane/components/useResultsPane.tsx   |     2 +-
 .../test/getStaleResultsTabFallback.test.ts}       |    30 +-
 .../src/explore/components/DataTablesPane/types.ts |     2 +-
 .../EmbedCodeContent.subdirectory.test.tsx         |    78 +
 .../ExploreViewContainer.test.tsx                  |     6 +-
 .../components/ExploreViewContainer/index.tsx      |    13 +-
 .../src/explore/components/SaveModal.test.tsx      |   397 +-
 .../src/explore/components/SaveModal.tsx           |  1393 +-
 .../AnnotationLayerControl/AnnotationLayer.tsx     |  1299 +-
 .../controls/AnnotationLayerControl/index.tsx      |   364 +-
 .../explore/components/controls/BoundsControl.tsx  |     2 +-
 .../components/controls/CheckboxControl.tsx        |    49 +-
 .../controls/ColorSchemeControl/index.tsx          |     2 +-
 .../ColumnConfigConstants.test.tsx                 |     5 +
 .../ColumnConfigControl/ControlForm/index.tsx      |     2 +-
 .../controls/ColumnConfigControl/constants.tsx     |     1 +
 .../components/controls/ComparisonRangeLabel.tsx   |     2 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |   128 +-
 .../controls/DatasourceControl/index.tsx           |   771 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |     4 +-
 .../tests/DateFilterLabel.test.tsx                 |     6 +-
 .../DndColumnMetricSelect.tsx                      |     2 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |     2 +-
 .../DndMetricSelect.test.tsx                       |    72 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |    26 +-
 .../DndColumnSelectControl/useResizeButton.tsx     |     2 +-
 .../FilterControl/AdhocFilterControl/index.tsx     |   443 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |   663 +-
 .../useAdvancedDataTypes.ts                        |     2 +-
 .../AdhocFilterPopoverTrigger/index.tsx            |   145 +-
 .../controls/FixedOrMetricControl/index.tsx        |   282 +-
 .../controls/MapViewControl/MapViewControl.tsx     |     4 +-
 .../controls/MetricControl/AdhocMetric.ts          |    24 +
 .../MetricControl/AdhocMetricEditPopover/index.tsx |   883 +-
 .../controls/MetricControl/AdhocMetricOption.tsx   |   104 +-
 .../MetricControl/AdhocMetricPopoverTrigger.tsx    |   497 +-
 .../controls/MetricControl/MetricsControl.test.tsx |    47 +
 .../controls/MetricControl/MetricsControl.tsx      |    14 +-
 .../explore/components/controls/SelectControl.tsx  |   333 +-
 .../components/controls/SpatialControl.test.tsx    |   178 +
 .../explore/components/controls/SpatialControl.tsx |   358 +-
 .../components/controls/TextAreaControl.test.tsx   |     4 +-
 .../components/controls/TextAreaControl.tsx        |   380 +-
 .../components/controls/TextControl/index.tsx      |   171 +-
 .../components/controls/TimeOffsetControl.tsx      |     2 +-
 .../TimeSeriesColumnControl.test.tsx               |    13 +-
 .../controls/TimeSeriesColumnControl/index.tsx     |   413 +-
 .../explore/components/controls/ViewQuery.test.tsx |     1 +
 .../src/explore/components/controls/ViewQuery.tsx  |     9 +-
 .../components/controls/ViewQueryModalFooter.tsx   |     2 +-
 .../components/controls/ViewportControl.tsx        |   102 +-
 .../DashboardsSubMenu.test.tsx                     |    31 +-
 .../DashboardsSubMenu.tsx                          |     4 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |   176 +-
 .../useExploreAdditionalActionsMenu.test.tsx       |   150 +
 .../getControlValuesCompatibleWithDatasource.ts    |     2 +-
 .../getFormDataWithDashboardContext.ts             |     2 +-
 .../explore/controlUtils/standardizedFormData.ts   |     2 +-
 .../src/explore/exploreUtils/exploreUtils.test.tsx |    22 +-
 .../src/explore/exploreUtils/exportChart.test.ts   |   233 +-
 .../src/explore/exploreUtils/getExploreUrl.test.ts |    10 +-
 .../explore/exploreUtils/getURIDirectory.test.ts   |     6 +-
 .../src/explore/exploreUtils/index.ts              |    56 +-
 .../src/explore/reducers/exploreReducer.ts         |     2 +-
 .../src/extensions/ExtensionsLoader.test.ts        |   109 +-
 .../src/extensions/ExtensionsLoader.ts             |     7 +-
 .../src/extensions/ExtensionsStartup.test.tsx      |    10 +
 .../src/extensions/ExtensionsStartup.tsx           |    29 +-
 superset-frontend/src/extensions/Namespaces.ts     |    60 +
 .../src/features/alerts/AlertReportModal.tsx       |     2 +-
 .../alerts/hooks/useExecuteReportSchedule.test.ts  |   125 +
 .../alerts/hooks/useExecuteReportSchedule.ts       |    96 +
 .../AllEntitiesTable.subdirectory.test.tsx         |   152 +
 .../src/features/allEntities/AllEntitiesTable.tsx  |     5 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |     2 +
 .../DatabaseConnectionForm/TableCatalog.tsx        |     3 +
 .../DatabaseConnectionForm/ValidatedInputField.tsx |     2 +
 .../DatabaseModal.subdirectory.test.ts             |   160 +
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |   150 +-
 .../databases/DatabaseModal/SSHTunnelSwitch.tsx    |     2 +-
 .../databases/DatabaseModal/index.test.tsx         |   385 +-
 .../src/features/databases/DatabaseModal/index.tsx |    57 +-
 .../DatasetPanel.subdirectory.test.tsx             |   114 +
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |    12 +-
 .../datasets/AddDataset/LeftPanel/index.tsx        |     2 +-
 .../src/features/home/DashboardTable.test.tsx      |     2 +-
 .../src/features/home/DashboardTable.tsx           |     2 +-
 superset-frontend/src/features/home/EmptyState.tsx |     2 +-
 .../src/features/home/Menu.subdirectory.test.tsx   |   230 +
 superset-frontend/src/features/home/Menu.test.tsx  |   294 +-
 superset-frontend/src/features/home/Menu.tsx       |    94 +-
 .../src/features/home/RightMenu.test.tsx           |   108 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    80 +-
 .../src/features/home/SavedQueries.tsx             |     4 +-
 superset-frontend/src/features/home/SubMenu.tsx    |     2 +-
 superset-frontend/src/features/home/types.ts       |     1 +
 .../src/features/reports/ReportModal/actions.ts    |     2 +-
 .../src/features/reports/ReportModal/reducer.ts    |     2 +-
 .../src/features/roles/RoleListEditModal.test.tsx  |    16 +-
 .../semanticLayers/SemanticLayerModal.test.tsx     |    99 +-
 .../features/semanticLayers/SemanticLayerModal.tsx |    77 +-
 .../features/semanticLayers/jsonFormsHelpers.tsx   |    56 +-
 .../src/features/themes/ThemeModal.tsx             |     2 +-
 .../filters/components/Range/RangeFilterPlugin.tsx |     2 +-
 .../components/Select/SelectFilterPlugin.tsx       |     3 +-
 .../TimeGrain/TimeGrainFilterPlugin.test.tsx       |    12 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |    14 +-
 .../TimeGrainPreFilter.integration.test.tsx        |    23 +-
 .../src/filters/components/TimeGrain/types.ts      |     2 +-
 .../src/hooks/apiResources/sqlEditorTabs.ts        |     2 +-
 superset-frontend/src/middleware/logger.test.ts    |     6 +-
 .../src/middleware/loggerMiddleware.ts             |    11 +-
 .../pages/AlertReportList/AlertReportList.test.tsx |    67 +
 .../src/pages/AlertReportList/index.tsx            |    61 +-
 .../src/pages/AnnotationLayerList/index.tsx        |     6 +-
 .../src/pages/AnnotationList/index.tsx             |     3 +-
 .../src/pages/ChartCreation/ChartCreation.test.tsx |    44 +-
 .../src/pages/ChartCreation/index.tsx              |   435 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |     4 +-
 .../src/pages/ChartList/ChartList.testHelpers.tsx  |    18 +-
 superset-frontend/src/pages/ChartList/index.tsx    |     2 +-
 .../DashboardList/DashboardList.testHelpers.tsx    |    10 +-
 .../src/pages/DashboardList/index.tsx              |     2 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |     7 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |   135 +
 .../DatasetList/DatasetList.subdirectory.test.tsx  |   135 +
 superset-frontend/src/pages/DatasetList/index.tsx  |    52 +-
 .../FileHandler/FileHandler.subdirectory.test.tsx  |   267 +
 .../src/pages/FileHandler/index.test.tsx           |    10 +-
 superset-frontend/src/pages/FileHandler/index.tsx  |    10 +-
 superset-frontend/src/pages/Home/index.tsx         |     2 +-
 superset-frontend/src/pages/Login/Login.test.tsx   |    67 +-
 superset-frontend/src/pages/Login/index.tsx        |    11 +-
 .../pages/RedirectWarning/RedirectWarning.test.tsx |    78 +
 .../src/pages/RedirectWarning/index.tsx            |    38 +-
 .../src/pages/RedirectWarning/utils.test.ts        |    59 +
 .../src/pages/RedirectWarning/utils.ts             |    15 +
 superset-frontend/src/pages/Register/index.tsx     |     7 +-
 .../pages/SavedQueryList/SavedQueryList.test.tsx   |     6 +-
 .../src/pages/SavedQueryList/index.tsx             |    17 +-
 superset-frontend/src/pages/SqlLab/SqlLab.test.tsx |     2 +-
 superset-frontend/src/pages/Tags/Tags.test.tsx     |   134 +
 superset-frontend/src/pages/Tags/index.tsx         |    15 +-
 superset-frontend/src/preamble.ts                  |     4 +-
 superset-frontend/src/pwa-manifest.json            |    65 -
 superset-frontend/src/reduxUtils.ts                |     2 +-
 .../src/setup/setupFormatters.test.ts              |    71 +
 superset-frontend/src/setup/setupFormatters.ts     |     5 +
 .../src/theme/utils/antdTokenNames.test.ts         |    34 +
 .../src/theme/utils/antdTokenNames.ts              |    19 +
 superset-frontend/src/types/bootstrapTypes.ts      |     3 +-
 .../src/utils/DebouncedMessageQueue.ts             |     2 +-
 superset-frontend/src/utils/assetUrl.test.ts       |    39 +
 superset-frontend/src/utils/assetUrl.ts            |    17 +-
 superset-frontend/src/utils/colorScheme.ts         |     2 +-
 superset-frontend/src/utils/downloadAsImage.tsx    |     2 +-
 superset-frontend/src/utils/downloadAsPdf.ts       |     2 +-
 superset-frontend/src/utils/export.test.ts         |    58 +-
 superset-frontend/src/utils/export.ts              |    30 +-
 .../src/utils/getBootstrapData.test.ts             |    73 +-
 superset-frontend/src/utils/getBootstrapData.ts    |    56 +-
 .../src/utils/getChartFormDiffs/index.ts           |     2 +-
 superset-frontend/src/utils/localStorageHelpers.ts |     2 +
 .../src/utils/navigationUtils.AppLink.test.tsx     |    95 +
 .../src/utils/navigationUtils.appRoot.test.tsx     |   136 +
 .../src/utils/navigationUtils.directDom.test.tsx   |   244 +
 .../src/utils/navigationUtils.invariants.test.ts   |   375 +
 .../src/utils/navigationUtils.schemes.test.ts      |   207 +
 .../src/utils/navigationUtils.test.ts              |   780 ++
 superset-frontend/src/utils/navigationUtils.ts     |   486 +-
 .../src/utils/pathUtils.parity.test.ts             |   166 +
 superset-frontend/src/utils/pathUtils.test.ts      |   151 +
 superset-frontend/src/utils/pathUtils.ts           |    44 +-
 .../sanitizeDocumentTitle.test.ts}                 |    26 +-
 .../utils/sanitizeDocumentTitle.ts}                |    11 +-
 .../src/utils/sanitizeFormData/index.ts            |     2 +-
 superset-frontend/src/utils/urlUtils.test.ts       |   131 +
 superset-frontend/src/utils/urlUtils.ts            |    43 +-
 superset-frontend/src/views/App.tsx                |   171 +-
 superset-frontend/src/views/CRUD/hooks.ts          |    64 +-
 superset-frontend/src/views/CRUD/utils.tsx         |     2 +-
 superset-frontend/src/views/menu.tsx               |    55 +-
 superset-frontend/src/views/routePaths.ts          |    60 +
 superset-frontend/src/views/routes.test.tsx        |    49 +
 superset-frontend/src/views/routes.tsx             |   220 +-
 superset-frontend/webpack.config.js                |     6 +-
 superset-websocket/.nvmrc                          |     2 +-
 superset-websocket/README.md                       |     3 +-
 superset-websocket/jest.config.js                  |    22 -
 superset-websocket/package-lock.json               | 12571 ++++---------------
 superset-websocket/package.json                    |    17 +-
 superset-websocket/spec/config.test.ts             |     2 +-
 superset-websocket/spec/index.test.ts              |   250 +-
 superset-websocket/src/index.ts                    |     4 +-
 superset-websocket/utils/README.md                 |     1 +
 superset-websocket/utils/client-ws-app/.nvmrc      |     2 +-
 superset-websocket/utils/client-ws-app/README.md   |     1 +
 superset/__init__.py                               |    18 +-
 superset/app.py                                    |    37 +-
 superset/async_events/async_query_manager.py       |    71 +-
 superset/cachekeys/api.py                          |     5 +-
 superset/charts/client_processing.py               |     6 +
 superset/charts/schemas.py                         |    15 +-
 superset/commands/dashboard/create.py              |     7 +-
 superset/commands/dashboard/exceptions.py          |    18 +
 superset/commands/dashboard/importers/v1/utils.py  |   142 +-
 superset/commands/dashboard/restore.py             |    84 +
 superset/commands/database/validate.py             |   149 +-
 superset/commands/dataset/importers/v1/utils.py    |     6 +-
 superset/commands/distributed_lock/acquire.py      |    36 +-
 superset/commands/importers/v1/utils.py            |    20 +-
 superset/commands/report/exceptions.py             |    39 +
 superset/commands/report/execute.py                |   115 +-
 superset/commands/report/execute_now.py            |   134 +
 superset/commands/security/update.py               |    33 +-
 superset/commands/sql_lab/estimate.py              |    79 +-
 superset/commands/tag/create.py                    |    24 +-
 superset/commands/tag/update.py                    |    21 +-
 superset/commands/tag/utils.py                     |    21 +
 superset/common/query_object.py                    |     3 +
 superset/common/utils/dataframe_utils.py           |     9 +-
 superset/config.py                                 |   130 +-
 superset/connectors/sqla/models.py                 |    73 +-
 superset/daos/base.py                              |   179 +-
 superset/daos/chart.py                             |     1 +
 superset/daos/dashboard.py                         |    53 +-
 superset/dashboards/api.py                         |   117 +-
 superset/dashboards/filters.py                     |    36 +
 superset/databases/api.py                          |    14 +-
 superset/databases/schemas.py                      |    22 +
 superset/datasource/api.py                         |     3 +
 superset/db_engine_specs/bigquery.py               |    93 +-
 superset/db_engine_specs/databricks.py             |   195 +-
 superset/db_engine_specs/redshift.py               |    18 +
 superset/distributed_lock/__init__.py              |     6 +-
 superset/exceptions.py                             |     8 +
 superset/extensions/__init__.py                    |    11 +-
 superset/extensions/utils.py                       |     1 +
 superset/initialization/__init__.py                |    47 +-
 superset/mcp_service/app.py                        |    27 +-
 superset/mcp_service/chart/chart_utils.py          |   146 +-
 superset/mcp_service/chart/compile.py              |    51 +-
 superset/mcp_service/chart/plugin.py               |   262 +
 superset/mcp_service/chart/plugins/__init__.py     |    58 +
 superset/mcp_service/chart/plugins/big_number.py   |   248 +
 superset/mcp_service/chart/plugins/handlebars.py   |   194 +
 .../mcp_service/chart/plugins/mixed_timeseries.py  |   173 +
 superset/mcp_service/chart/plugins/pie.py          |   140 +
 superset/mcp_service/chart/plugins/pivot_table.py  |   164 +
 superset/mcp_service/chart/plugins/table.py        |   136 +
 superset/mcp_service/chart/plugins/xy.py           |   202 +
 superset/mcp_service/chart/registry.py             |   279 +
 superset/mcp_service/chart/schemas.py              |   111 +-
 superset/mcp_service/chart/tool/generate_chart.py  |    20 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    15 +
 .../mcp_service/chart/tool/get_chart_preview.py    |     4 +
 superset/mcp_service/chart/tool/update_chart.py    |    25 +
 .../mcp_service/chart/tool/update_chart_preview.py |     4 +-
 .../chart/validation/dataset_validator.py          |   275 +-
 .../chart/validation/runtime/__init__.py           |   100 +-
 .../chart/validation/schema_validator.py           |   483 +-
 superset/mcp_service/dashboard/schemas.py          |   957 +-
 superset/mcp_service/dashboard/tool/__init__.py    |    10 +
 .../tool/add_chart_to_existing_dashboard.py        |     8 +-
 .../dashboard/tool/duplicate_dashboard.py          |   427 +
 .../dashboard/tool/generate_dashboard.py           |   153 +-
 .../dashboard/tool/get_dashboard_datasets.py       |   156 +
 .../dashboard/tool/get_dashboard_info.py           |     3 +-
 .../dashboard/tool/manage_native_filters.py        |   513 +
 .../dashboard/tool/remove_chart_from_dashboard.py  |   540 +
 .../mcp_service/dashboard/tool/update_dashboard.py |   374 +
 superset/mcp_service/dataset/schemas.py            |    15 +-
 .../mcp_service/dataset/tool/get_dataset_info.py   |    17 +
 .../mcp_service/docs/tool-search-optimization.md   |     2 +-
 .../explore/tool/generate_explore_link.py          |     3 +-
 superset/mcp_service/flask_singleton.py            |    22 +
 superset/mcp_service/jwt_verifier.py               |    72 +-
 superset/mcp_service/mcp_config.py                 |    88 +-
 superset/mcp_service/middleware.py                 |     1 +
 superset/mcp_service/server.py                     |     7 +
 .../sql_lab/tool/open_sql_lab_with_context.py      |     2 +
 superset/mcp_service/system/tool/find_users.py     |    11 +-
 superset/mcp_service/utils/__init__.py             |     1 +
 superset/mcp_service/utils/sanitization.py         |    10 +
 .../common => superset/middleware}/__init__.py     |     0
 superset/middleware/legacy_prefix_redirect.py      |   256 +
 ...2bee73611e32_composite_pk_association_tables.py |   606 +
 ...05_9e1f3b8c4d2a_add_deleted_at_to_dashboards.py |   203 +
 ...-00_b4a3f2e1d0c9_fix_security_view_menu_case.py |   125 +
 ...23_a7d3f1b9c2e4_cleanup_stale_can_import_pvm.py |   120 +
 superset/models/core.py                            |    82 +-
 superset/models/dashboard.py                       |   104 +-
 superset/models/helpers.py                         |   249 +-
 superset/models/slice.py                           |    34 +-
 superset/queries/filters.py                        |     7 +-
 superset/queries/saved_queries/api.py              |     5 +
 superset/queries/saved_queries/filters.py          |     8 +-
 superset/queries/saved_queries/schemas.py          |    10 +-
 superset/reports/api.py                            |    81 +
 superset/reports/models.py                         |     6 +-
 superset/reports/notifications/webhook.py          |    21 +-
 superset/reports/schemas.py                        |    12 +
 superset/result_set.py                             |     6 +-
 superset/row_level_security/schemas.py             |     1 +
 superset/security/api.py                           |    39 +-
 superset/security/manager.py                       |   292 +-
 superset/sql/execution/executor.py                 |    62 +-
 superset/sql/parse.py                              |   275 +-
 superset/sql_lab.py                                |    35 +-
 superset/superset_typing.py                        |     1 +
 superset/tags/models.py                            |    14 +-
 superset/tasks/async_queries.py                    |     2 +-
 superset/tasks/thumbnails.py                       |    10 +-
 superset/templates/superset/spa.html               |     6 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |     9 +
 superset/translations/ca/LC_MESSAGES/messages.po   |  1571 ++-
 superset/translations/cs/LC_MESSAGES/messages.po   |   601 +-
 superset/translations/de/LC_MESSAGES/messages.po   |  4859 ++++---
 superset/translations/en/LC_MESSAGES/messages.po   |     9 +
 superset/translations/es/LC_MESSAGES/messages.po   |   550 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  1972 ++-
 superset/translations/fi/LC_MESSAGES/messages.po   |   580 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  1031 +-
 superset/translations/it/LC_MESSAGES/messages.po   |     9 +
 superset/translations/ja/LC_MESSAGES/messages.po   |  2316 ++--
 superset/translations/ko/LC_MESSAGES/messages.po   |     9 +
 superset/translations/lv/LC_MESSAGES/messages.po   |   575 +-
 superset/translations/messages.pot                 |    15 +
 superset/translations/mi/LC_MESSAGES/messages.po   |  1487 ++-
 superset/translations/nl/LC_MESSAGES/messages.po   |  2301 +++-
 superset/translations/pl/LC_MESSAGES/messages.po   |  1959 ++-
 superset/translations/pt/LC_MESSAGES/messages.po   |     9 +
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  1957 ++-
 superset/translations/ro/LC_MESSAGES/messages.po   |    11 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   610 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   579 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |  1876 ++-
 superset/translations/th/LC_MESSAGES/messages.po   |   570 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |  8892 ++++++++-----
 superset/translations/uk/LC_MESSAGES/messages.po   |   583 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |     9 +
 .../translations/zh_TW/LC_MESSAGES/messages.po     |     9 +
 superset/utils/core.py                             |    18 +-
 superset/utils/encrypt.py                          |     7 +-
 superset/utils/file.py                             |    13 +
 superset/utils/json.py                             |     5 +
 superset/utils/mock_data.py                        |     4 +-
 superset/utils/pandas_postprocessing/prophet.py    |    18 +-
 superset/utils/pandas_postprocessing/utils.py      |    26 +-
 superset/utils/screenshots.py                      |   109 +-
 superset/utils/slack.py                            |    62 +-
 superset/utils/version.py                          |    17 +
 superset/utils/webdriver.py                        |    85 +-
 superset/views/all_entities.py                     |     2 +-
 superset/views/base.py                             |    60 +-
 superset/views/base_api.py                         |    27 +-
 superset/views/core.py                             |    66 +-
 superset/views/datasource/views.py                 |     6 +-
 superset/views/explore.py                          |    19 +-
 superset/views/filters.py                          |    12 +-
 superset/views/groups.py                           |     2 +-
 superset/views/health.py                           |    19 +-
 superset/views/logs.py                             |     2 +-
 superset/views/pwa_manifest.py                     |   159 +
 superset/views/roles.py                            |     2 +-
 superset/views/tags.py                             |     2 +-
 superset/views/user_registrations.py               |     2 +-
 superset/views/users_list.py                       |     2 +-
 superset/views/utils.py                            |   159 +-
 superset/viz.py                                    |     4 +-
 tests/integration_tests/base_api_tests.py          |    10 +-
 tests/integration_tests/base_tests.py              |    12 +-
 tests/integration_tests/cachekeys/api_tests.py     |    47 +-
 tests/integration_tests/core_tests.py              |    96 +-
 tests/integration_tests/dashboard_tests.py         |    26 +-
 tests/integration_tests/dashboards/api_tests.py    |     6 +-
 .../dashboards/soft_delete_tests.py                |   732 ++
 .../dashboards/superset_factory_util.py            |    14 +-
 tests/integration_tests/databases/api_tests.py     |    71 +
 tests/integration_tests/datasource/api_tests.py    |    28 +-
 tests/integration_tests/datasource_tests.py        |    17 +
 .../db_engine_specs/presto_tests.py                |    12 +-
 tests/integration_tests/email_tests.py             |    12 +-
 tests/integration_tests/event_logger_tests.py      |     6 +-
 tests/integration_tests/log_api_tests.py           |     8 +-
 ...f1b9c2e4_cleanup_stale_can_import_pvm__tests.py |    84 +
 ...3f2e1d0c9_fix_security_view_menu_case__tests.py |   213 +
 .../composite_pk_association_tables__tests.py      |   137 +
 .../migrations/composite_pk_round_trip__tests.py   |   208 +
 .../queries/saved_queries/api_tests.py             |    63 +
 tests/integration_tests/reports/api_tests.py       |    96 +-
 .../commands/execute_dashboard_report_tests.py     |     2 +-
 tests/integration_tests/reports/commands_tests.py  |    10 +-
 tests/integration_tests/security/api_tests.py      |    10 +-
 tests/integration_tests/security_tests.py          |     7 +-
 tests/integration_tests/strategy_tests.py          |     2 +-
 tests/integration_tests/superset_test_config.py    |     4 +
 tests/integration_tests/tags/api_tests.py          |    80 +-
 tests/integration_tests/utils/encrypt_tests.py     |    41 +-
 tests/integration_tests/utils_tests.py             |     2 +-
 .../views/test_explore_redirect.py                 |   326 +
 .../async_events/async_query_manager_tests.py      |   146 +-
 tests/unit_tests/charts/test_client_processing.py  |   187 +-
 tests/unit_tests/commands/dashboard/create_test.py |    29 +
 .../unit_tests/commands/dashboard/restore_test.py  |   201 +
 .../unit_tests/commands/databases/validate_test.py |   484 +
 tests/unit_tests/commands/report/execute_test.py   |   276 +-
 .../unit_tests/commands/report/test_execute_now.py |   198 +
 tests/unit_tests/commands/security/rls_test.py     |    91 +
 tests/unit_tests/commands/sql_lab/test_estimate.py |    78 +-
 .../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                    |   120 +
 tests/unit_tests/dao/base_dao_test.py              |    64 +
 tests/unit_tests/daos/test_base_dao_soft_delete.py |    50 +-
 .../daos/test_base_relationship_filters.py         |   203 +
 .../commands/importers/v1/import_test.py           |   357 +
 tests/unit_tests/databases/schema_tests.py         |    27 +
 .../datasets/test_datetime_format_detector.py      |     4 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |   262 +
 .../unit_tests/db_engine_specs/test_databricks.py  |   731 +-
 .../db_engine_specs/test_databricks_multi_cloud.py |   127 +
 tests/unit_tests/db_engine_specs/test_starrocks.py |     4 +-
 tests/unit_tests/initialization_test.py            |   132 +-
 .../mcp_service/chart/test_big_number_chart.py     |    23 +-
 .../mcp_service/chart/test_chart_schemas.py        |    48 +
 .../mcp_service/chart/test_chart_utils.py          |     4 +-
 tests/unit_tests/mcp_service/chart/test_compile.py |     4 +-
 .../unit_tests/mcp_service/chart/test_registry.py  |   252 +
 .../mcp_service/chart/test_registry_filters.py     |   222 +
 .../mcp_service/chart/tool/test_get_chart_info.py  |    28 +
 .../mcp_service/chart/tool/test_list_charts.py     |    23 +
 .../mcp_service/chart/tool/test_update_chart.py    |   246 +-
 .../validation/test_column_name_normalization.py   |   523 +-
 .../chart/validation/test_runtime_validator.py     |   102 +-
 .../dashboard/test_dashboard_schemas.py            |   369 +-
 .../tool/test_add_chart_to_existing_dashboard.py   |     3 +-
 .../dashboard/tool/test_dashboard_generation.py    |   278 +-
 .../dashboard/tool/test_dashboard_tools.py         |   101 +-
 .../dashboard/tool/test_duplicate_dashboard.py     |   645 +
 .../dashboard/tool/test_get_dashboard_datasets.py  |   393 +
 .../dashboard/tool/test_manage_native_filters.py   |   818 ++
 .../tool/test_remove_chart_from_dashboard.py       |   724 ++
 .../dashboard/tool/test_update_dashboard.py        |   490 +
 .../mcp_service/system/tool/test_find_users.py     |    81 +
 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 +
 .../mcp_service/utils/test_sanitization.py         |    41 +
 .../unit_tests/middleware}/__init__.py             |     0
 .../middleware/test_legacy_prefix_redirect.py      |   726 ++
 .../composite_pk_association_tables_test.py        |   170 +
 .../test_add_deleted_at_to_dashboards.py           |   241 +
 tests/unit_tests/models/core_test.py               |   352 +
 tests/unit_tests/models/dashboard_test.py          |    87 +-
 tests/unit_tests/models/helpers_test.py            |   219 +-
 tests/unit_tests/models/slice_test.py              |    58 +
 tests/unit_tests/models/test_soft_delete_mixin.py  |    38 +
 .../unit_tests/models/test_validate_expression.py  |    42 +-
 .../pandas_postprocessing/test_aggregate.py        |    28 +
 .../pandas_postprocessing/test_prophet.py          |    39 +
 tests/unit_tests/queries/query_object_test.py      |     1 +
 .../queries/saved_queries_schema_test.py           |    24 +-
 .../reports/notifications/webhook_tests.py         |   155 +
 tests/unit_tests/result_set_test.py                |    31 +
 .../scripts/translations/backfill_po_test.py       |    93 +
 .../translations/build_translation_index_test.py   |    49 +
 .../check_translation_regression_test.py           |   160 +
 tests/unit_tests/security/api_test.py              |    59 +-
 tests/unit_tests/security/guest_rls_test.py        |     4 +-
 tests/unit_tests/security/manager_test.py          |   720 ++
 tests/unit_tests/semantic_layers/mapper_test.py    |     6 +-
 tests/unit_tests/sql/execution/test_executor.py    |    86 +-
 tests/unit_tests/sql/parse_tests.py                |   562 +
 tests/unit_tests/tags/models_test.py               |    15 +-
 tests/unit_tests/tasks/test_thumbnails.py          |   145 +
 tests/unit_tests/test_check_secret_key.py          |    74 +
 tests/unit_tests/test_subdirectory_url_for.py      |   256 +
 tests/unit_tests/test_viz_cache_key.py             |     4 +-
 tests/unit_tests/utils/encrypt_test.py             |    38 +-
 tests/unit_tests/utils/json_tests.py               |    14 +
 tests/unit_tests/utils/slack_test.py               |    73 +-
 tests/unit_tests/utils/test_core.py                |    26 +-
 tests/unit_tests/utils/test_file.py                |    22 +-
 .../unit_tests/utils/test_screenshot_cache_fix.py  |   138 +-
 tests/unit_tests/utils/version_test.py             |    60 +
 tests/unit_tests/utils/webdriver_test.py           |   249 +-
 tests/unit_tests/views/test_base.py                |    84 +
 tests/unit_tests/views/test_base_theme_helpers.py  |    74 +-
 tests/unit_tests/views/test_health.py              |    69 +
 tests/unit_tests/views/test_pwa_manifest.py        |   354 +
 .../views/test_redirect_view_subdirectory.py       |   221 +
 tests/unit_tests/views/test_spa_service_worker.py  |   182 +
 931 files changed, 84767 insertions(+), 43553 deletions(-)
 create mode 100644 .github/workflows/scheduled-docker-image-refresh.yml
 mode change 100644 => 100755 .pre-commit-config.yaml
 mode change 100644 => 120000 docs/.nvmrc
 create mode 100644 docs/developer_docs/extensions/extension-points/chat.md
 create mode 100644 helm/superset/tests/labels_test.yaml
 mode change 100644 => 120000 superset-embedded-sdk/.nvmrc
 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/packages/superset-ui-core/src/components/DropdownButton/DropdownButton.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/connection/normalizeBackendUrls.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/currency-format/currencyLocale.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/currency-format/symbolPosition.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/SupersetClientAppRootContract.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/connection/normalizeBackendUrls.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/currency-format/currencyLocale.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/currency-format/symbolPosition.test.ts
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/components/Legend.test.tsx
 create mode 100644 superset-frontend/spec/helpers/sourceTreeScanner.ts
 create mode 100644 superset-frontend/spec/helpers/withApplicationRoot.ts
 create mode 100644 superset-frontend/src/chartCustomizations/components/TimeGrain/CustomizationTimeGrainsTransformer.integration.test.ts
 create mode 100644 superset-frontend/src/chartCustomizations/components/TimeGrain/TimeGrainPreFilter.integration.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/components/SliceHeaderControls/SliceHeaderControls.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/gridComponents/Tab/Tab.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterBar.subdirectory.test.ts
 delete mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.timeGrain.test.ts
 mode change 100644 => 100755 superset-frontend/src/explore/components/DataTableControl/FilterInput.test.tsx
 mode change 100644 => 100755 superset-frontend/src/explore/components/DataTableControl/index.tsx
 copy superset-frontend/src/explore/components/{controls/ColumnConfigControl/ColumnConfigConstants.test.tsx => DataTablesPane/test/getStaleResultsTabFallback.test.ts} (51%)
 create mode 100644 superset-frontend/src/explore/components/EmbedCodeContent.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/explore/components/controls/SpatialControl.test.tsx
 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/allEntities/AllEntitiesTable.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseModal.subdirectory.test.ts
 create mode 100644 superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/features/home/Menu.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/pages/DatasetList/DatasetList.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/pages/FileHandler/FileHandler.subdirectory.test.tsx
 create mode 100644 superset-frontend/src/pages/RedirectWarning/RedirectWarning.test.tsx
 create mode 100644 superset-frontend/src/pages/Tags/Tags.test.tsx
 delete mode 100644 superset-frontend/src/pwa-manifest.json
 create mode 100644 superset-frontend/src/setup/setupFormatters.test.ts
 create mode 100644 superset-frontend/src/utils/navigationUtils.AppLink.test.tsx
 create mode 100644 superset-frontend/src/utils/navigationUtils.appRoot.test.tsx
 create mode 100644 superset-frontend/src/utils/navigationUtils.directDom.test.tsx
 create mode 100644 superset-frontend/src/utils/navigationUtils.invariants.test.ts
 create mode 100644 superset-frontend/src/utils/navigationUtils.schemes.test.ts
 create mode 100644 superset-frontend/src/utils/navigationUtils.test.ts
 create mode 100644 superset-frontend/src/utils/pathUtils.parity.test.ts
 copy superset-frontend/src/{explore/components/controls/ColumnConfigControl/ColumnConfigConstants.test.tsx => utils/sanitizeDocumentTitle.test.ts} (56%)
 copy superset-frontend/{packages/superset-core/src/utils/isBlank.ts => src/utils/sanitizeDocumentTitle.ts} (71%)
 create mode 100644 superset-frontend/src/views/routePaths.ts
 mode change 100644 => 120000 superset-websocket/.nvmrc
 delete mode 100644 superset-websocket/jest.config.js
 mode change 100644 => 120000 superset-websocket/utils/client-ws-app/.nvmrc
 create mode 100644 superset/commands/dashboard/restore.py
 create mode 100644 superset/commands/report/execute_now.py
 create mode 100755 superset/mcp_service/chart/plugin.py
 create mode 100644 superset/mcp_service/chart/plugins/__init__.py
 create mode 100644 superset/mcp_service/chart/plugins/big_number.py
 create mode 100644 superset/mcp_service/chart/plugins/handlebars.py
 create mode 100644 superset/mcp_service/chart/plugins/mixed_timeseries.py
 create mode 100644 superset/mcp_service/chart/plugins/pie.py
 create mode 100644 superset/mcp_service/chart/plugins/pivot_table.py
 create mode 100644 superset/mcp_service/chart/plugins/table.py
 create mode 100755 superset/mcp_service/chart/plugins/xy.py
 create mode 100644 superset/mcp_service/chart/registry.py
 mode change 100644 => 100755 superset/mcp_service/chart/validation/runtime/__init__.py
 create mode 100644 superset/mcp_service/dashboard/tool/duplicate_dashboard.py
 create mode 100644 superset/mcp_service/dashboard/tool/get_dashboard_datasets.py
 create mode 100644 superset/mcp_service/dashboard/tool/manage_native_filters.py
 create mode 100644 superset/mcp_service/dashboard/tool/remove_chart_from_dashboard.py
 create mode 100644 superset/mcp_service/dashboard/tool/update_dashboard.py
 mode change 100644 => 100755 superset/mcp_service/system/tool/find_users.py
 copy {superset-core/src/superset_core/common => superset/middleware}/__init__.py (100%)
 create mode 100644 superset/middleware/legacy_prefix_redirect.py
 create mode 100644 superset/migrations/versions/2026-05-01_23-36_2bee73611e32_composite_pk_association_tables.py
 create mode 100644 superset/migrations/versions/2026-05-08_12-05_9e1f3b8c4d2a_add_deleted_at_to_dashboards.py
 create mode 100644 superset/migrations/versions/2026-05-29_00-00_b4a3f2e1d0c9_fix_security_view_menu_case.py
 create mode 100644 superset/migrations/versions/2026-06-23_03-23_a7d3f1b9c2e4_cleanup_stale_can_import_pvm.py
 create mode 100644 superset/views/pwa_manifest.py
 create mode 100644 tests/integration_tests/dashboards/soft_delete_tests.py
 create mode 100644 tests/integration_tests/migrations/a7d3f1b9c2e4_cleanup_stale_can_import_pvm__tests.py
 create mode 100644 tests/integration_tests/migrations/b4a3f2e1d0c9_fix_security_view_menu_case__tests.py
 create mode 100644 tests/integration_tests/migrations/composite_pk_association_tables__tests.py
 create mode 100644 tests/integration_tests/migrations/composite_pk_round_trip__tests.py
 create mode 100644 tests/integration_tests/views/test_explore_redirect.py
 create mode 100644 tests/unit_tests/commands/dashboard/restore_test.py
 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/db_engine_specs/test_databricks_multi_cloud.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_registry.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_registry_filters.py
 mode change 100644 => 100755 tests/unit_tests/mcp_service/chart/validation/test_column_name_normalization.py
 mode change 100644 => 100755 tests/unit_tests/mcp_service/chart/validation/test_runtime_validator.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_duplicate_dashboard.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_get_dashboard_datasets.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_manage_native_filters.py
 create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_remove_chart_from_dashboard.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/middleware}/__init__.py (100%)
 create mode 100644 tests/unit_tests/middleware/test_legacy_prefix_redirect.py
 create mode 100644 tests/unit_tests/migrations/composite_pk_association_tables_test.py
 create mode 100644 tests/unit_tests/migrations/test_add_deleted_at_to_dashboards.py
 copy superset/views/logs.py => tests/unit_tests/queries/saved_queries_schema_test.py (59%)
 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_subdirectory_url_for.py
 create mode 100644 tests/unit_tests/utils/version_test.py
 create mode 100644 tests/unit_tests/views/test_health.py
 create mode 100644 tests/unit_tests/views/test_pwa_manifest.py
 create mode 100644 tests/unit_tests/views/test_redirect_view_subdirectory.py
 create mode 100644 tests/unit_tests/views/test_spa_service_worker.py