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

rusackas pushed a change to branch 
dependabot/npm_and_yarn/superset-frontend/simple-zstd-2.1.0
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit ff13e2ad331 chore(deps): bump simple-zstd from 1.4.2 to 2.1.0 in 
/superset-frontend
     add 852d0182b5a fix(roles): prevent 404 and silent user removal on large 
role edits (#40178)
     add 1230b9091b0 docs: hide Component Playground top-level nav item (#40247)
     add b5ad4a7a07e test(sql-parser): pin TimescaleDB hyperfunctions parse on 
postgresql (#32028) (#40142)
     add 98dff2e170c chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in 
/superset-frontend (#40271)
     add 738ebf9cc64 chore(deps-dev): bump @types/node from 25.8.0 to 25.9.1 in 
/superset-frontend (#40268)
     add 0fffa74bc6d chore(deps-dev): bump tsx from 4.22.0 to 4.22.3 in 
/superset-frontend (#40267)
     add 7f1c47521ea chore(deps-dev): bump @typescript-eslint/parser from 
8.59.3 to 8.59.4 in /superset-frontend (#40263)
     add f5fe9bfa265 chore(deps-dev): bump ts-jest from 29.4.9 to 29.4.10 in 
/superset-frontend (#40260)
     add fe8b218a5f8 chore(deps): bump mapbox-gl from 3.23.1 to 3.24.0 in 
/superset-frontend (#40258)
     add ffbce27c9b7 chore(deps): bump codecov/codecov-action from 6.0.0 to 
6.0.1 (#40269)
     add fbb30565086 chore(deps): bump baseline-browser-mapping from 2.10.30 to 
2.10.31 in /docs (#40255)
     add aa9af6c307d chore(deps-dev): bump typescript-eslint from 8.59.3 to 
8.59.4 in /docs (#40254)
     add 9acfac15235 chore(deps-dev): bump @typescript-eslint/parser from 
8.59.3 to 8.59.4 in /superset-websocket (#40252)
     add 81b4d580db9 chore(deps-dev): bump @types/node from 25.8.0 to 25.9.1 in 
/superset-websocket (#40249)
     add e6179036ec6 fix(sqllab): handle scientific notation in big number JSON 
responses (#39994)
     add 0a3a35018ce fix(mcp): changed_on_humanized null in write tool 
responses (generate_dashboard, generate_chart) (#39488)
     add b98bd2a07ac fix(mcp): Block destructive DDL (DROP, TRUNCATE, ALTER) in 
execute_sql (#39621)
     add 55024e8f4d0 feat(mcp): Add mcp_call_id to tool responses for server 
log correlation (#39776)
     add 6e8b3bf9761 fix(mcp): raise right error (#39964)
     add fb276b08ddd fix(mcp): Skip misleading trend analysis for categorical 
ASCII charts (#39761)
     add 5bb54cc96bc fix(echarts): preserve dataZoom range across 
setOption(notMerge) (#40173)
     add 038414ea5ca chore(deps-dev): bump ts-jest from 29.4.9 to 29.4.10 in 
/superset-websocket (#40290)
     add ea1ce7140c9 chore(deps-dev): bump webpack from 5.106.2 to 5.107.0 in 
/docs (#40291)
     add 4a17c49d74f chore(deps): bump zod from 4.4.1 to 4.4.3 in 
/superset-frontend (#40272)
     add 3356f4d3e17 chore(deps): bump react-syntax-highlighter from 16.1.0 to 
16.1.1 in /superset-frontend (#40265)
     add 13fa3810a87 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in 
/superset-frontend (#40262)
     add 12a21c89335 chore(deps-dev): bump @typescript-eslint/eslint-plugin 
from 8.59.3 to 8.59.4 in /superset-frontend (#40256)
     add dacda71f777 chore(deps-dev): bump typescript-eslint from 8.59.3 to 
8.59.4 in /superset-websocket (#40251)
     add c39a47cbac5 test(sql-parser): pin WITH+UNION as non-mutating across 
dialects (#25659) (#40138)
     add 92b1b0a2193 ci(docs): soft-fail badge localization on transient fetch 
errors (#40236)
     add 105820f1f4b docs(reports): playwright setup clarification (#40168)
     add 6ce7c2e8dea chore(deps-dev): bump react-resizable and 
@types/react-resizable in /superset-frontend (#40110)
     add fbffae04446 fix(dataset-editor): drop null warning_markdown from extra 
JSON serialisation (#39706)
     add 69adecd6a35 fix(reports): enforce server-side recipient on 
chart/dashboard report subscriptions (#38847)
     add f2d80a183e8 chore(deps): bump content-disposition from 1.1.0 to 2.0.0 
in /superset-frontend (#40109)
     add b7585122c88 chore(deps-dev): bump @typescript-eslint/eslint-plugin 
from 8.59.3 to 8.59.4 in /superset-websocket (#40250)
     add 89cab1860e8 chore(codeowners): add @rusackas as translations 
maintainer (#40295)
     add 10b7bfc8c16 test(helpers): regression for humanize locale activation 
(#28331) (#40233)
     add aa8255c55c6 test(reports): regression for alerts CSV missing chart 
time filters (#25538) (#40232)
     add b23c65e04f1 test(charts): regression for last-modified sort order 
(#27500) (#40231)
     add f8600471fad test(datasets): regression test for Jinja not rendered on 
sync columns (#25839) (#40224)
     add 46b2d7d7a9c test(dashboard-import): pin native filter scope rootPath 
preservation (#19944) (#40135)
     add 4a9aecda4aa fix(dashboard-import): remap chartsInScope on import 
(#26338) (#40140)
     add 68c145adc36 feat(semantic layers): add metadata on additive metrics 
(#40279)
     add 3f0858e35de chore(sql-lab): migrate useDispatch to useAppDispatch 
(#40037)
     add a75f9b67b28 chore(superset-ui-switchboard): forward-compat fixes for 
TypeScript 6.0 (Phase E) (#40028)
     add d203f0de337 chore(sql-lab): finish SqlLab typed-dispatch migration for 
SaveDatasetModal (#40040)
     add a273fe4d621 fix(list-view): preserve user name in filter pill after 
navigation (#39505)
     add 2cd5efa6279 ci(deps): bump lower bound on pip dependabot PRs (#40308)
     add b1ca8cac6b6 fix(tests): fix flaky FileHandler test by awaiting 
LaunchQueue consumer in afterEach (#39508)
     add cdca6f7fdcc fix(sqllab): keep saved-query list working when Jinja 
`dataset(id)` references a deleted dataset (#39703)
     add 7e74fc41920 fix(charts): handle PostgreSQL INTERVAL type in bar and 
pie charts (#34513)
     add 9638eecdb13 chore(deps-dev): bump oxlint from 1.65.0 to 1.66.0 in 
/superset-frontend (#40318)
     add 3acef94ef63 chore(deps): update zod requirement from ^4.4.1 to ^4.4.3 
in /superset-frontend/plugins/plugin-chart-echarts (#40313)
     add a183582291e chore(deps): bump markdown-to-jsx from 9.8.0 to 9.8.1 in 
/superset-frontend (#40316)
     add ce9cab098fd feat(mcp): chart formatting options across all supported 
chart types (#39887)
     add e3711bec391 fix(recommandation): Fix chart recommandation (#39886)
     add d1d07112aa4 feat(mcp): add find_users tool and owner filter columns 
for listings (#39679)
     add 2f5fcc21f92 fix(semantic layers): coerce filter types (#40222)
     add 2f95d288dd7 fix(mcp): eager-load dataset.metrics to prevent Excel 
export DetachedInstanceError (#39483)
     add 53d8e5bdfa8 feat(mcp): include applied dashboard filters in 
get_chart_info (#39620)
     add 4c3f65ef0b4 feat(mcp): make config optional in generate_explore_link 
(#39559)
     add f187a8e1c41 fix(reports): guard null dashboard height in Playwright 
screenshots (#40179)
     add 73f66e4c141 fix(datasets): isolate filter state to fix concurrent 
/dataset race (#39685)
     add 5526464def7 fix(frontend): update safeStringify to surface [Circular] 
and DRY plugin code (#39156)
     add b8b91574e0e fix(view query): Update style for code viewer container 
(#39635)
     add 89c2a474334 fix(TableView): reset pagination when data reduces below 
current page (#34562)
     add 8b483f320e9 chore(deps): bump fs-extra from 11.3.2 to 11.3.5 in 
/superset-frontend (#40325)
     add bc26006a43d chore(deps-dev): update sqlalchemy-drill requirement from 
<2,>=1.1.4 to >=1.1.10,<2 (#40310)
     add f09fd63495a chore(deps): bump @googleapis/sheets from 13.0.1 to 13.0.2 
in /superset-frontend (#40324)
     add dcef6f8a41c chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in 
/superset-frontend (#40322)
     add 48cb3f5885c chore(deps-dev): bump baseline-browser-mapping from 
2.10.29 to 2.10.31 in /superset-frontend (#40320)
     add e25d7081979 fix(mcp): hide write tools from users without write 
permissions (#40098)
     add ac035083d75 feat(path): support metric-based color scales & line width 
by metric (#39165)
     add 5966bb1c1ef feat(mcp): add series_limit to generate_chart XY config 
(#40307)
     add 558ff4452b8 fix(preview): fix chart preview bugs (#40063)
     add 55491006016 feat(i18n): add missing Slovak translations (#40219)
     add a94edfe4187 fix(i18n): add Slovenian translation for 'Range type' in 
DateFilter (#40287)
     add f7f6c29adf0 chore(deps-dev): bump webpack from 5.106.2 to 5.107.1 in 
/superset-frontend (#40370)
     add 8e98ca65691 docs: expand out-of-scope vulnerability definitions 
(#40332)
     add 31087177ab3 chore(deps-dev): bump webpack from 5.107.0 to 5.107.1 in 
/docs (#40364)
     add f4af6a2caf0 fix(docker): add missing `service-worker.js` into built 
container image (#39596)
     add 64f0e88de79 chore(backend/build): upgrade Gunicorn from v22 to v25 
(#38788)
     add df8222ffcd2 chore(deps-dev): bump ts-jest from 29.4.10 to 29.4.11 in 
/superset-frontend (#40369)
     add b0d26196fc5 chore(deps-dev): bump @swc/plugin-emotion from 14.9.0 to 
14.10.0 in /superset-frontend (#40368)
     add 8ab4695ba34 fix(mcp): use `name` URL param so AI-generated SQL Lab 
titles render (#40288)
     add 21059b54f06 feat(semantic layers): form for SL with a single SV 
(#40280)
     add c945ef67639 chore(oxlint): enable import/newline-after-import + 
react/no-unstable-nested-components (#40319)
     add 42149f6a78f fix(chart): fix label and description translation on UI 
and enhance french translations (#40229)
     add 91d96419fe0 feat(sec): delays version-bumping PR to avoid prematurely 
usage of compromised packages (#39783)
     add 3b4892c48cd fix(select): replace cached options with search results in 
AsyncSelect (#40039)
     add 869ab37f590 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in 
/superset-frontend (#40366)
     add d97b5d6509c chore(deps): bump react-syntax-highlighter from 16.1.0 to 
16.1.1 in /superset-frontend (#40372)
     add 3599c78a034 chore(deps): bump react-arborist from 3.6.1 to 3.7.0 in 
/superset-frontend (#40371)
     add 5af8fe77fab chore(deps): bump zod from 4.4.1 to 4.4.3 in 
/superset-frontend (#40367)
     add 6e23e4541d3 chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in 
/superset-frontend (#40365)
     add 2a0ebd7055a chore(deps-dev): bump ts-jest from 29.4.10 to 29.4.11 in 
/superset-websocket (#40363)
     add 0febe32dc9c chore(deps): bump geostyler from 18.5.1 to 18.6.0 in 
/superset-frontend (#40323)
     add c728b4a11f5 chore(deps): bump sqlglot from 28.10.0 to 30.8.0 (#40186)
     add e40648dfcbd chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in 
/superset-websocket (#39425)
     add 5cdd542ae50 fix(i18n): translate DateFilter tooltip for time range 
values (#40286)
     add f8e13770fcf fix(dashboard): add top padding to "Create new chart" 
button in builder pane (#40033)
     add af6ac4d09cb feat(i18n): AI-assisted translation backfill tooling + 
Spanish translations (#39448)
     add e57387098b4 fix(bigquery): limit result set size to prevent browser 
memory crashes (#38588)
     add 8d985d223bc ci(e2e): run backend under gunicorn instead of flask dev 
server (#40234)
     add 42668cf6341 ci(docker): pin QEMU binfmt image to stabilize arm64 
builds (#40235)
     add 838ac8f553c fix(ci): stop cancelling Hold Label Check runs (#40380)
     add 168b49bf34f chore(cypress): remove dead _skip spec files and skipped 
inline tests (#40384)
     add 2fa3bbd91cf chore(ci): limit /app/prefix matrix variant to master 
merges (#40385)
     add 55203bbc748 chore(deps): bump qs from 6.14.2 to 6.15.2 in /docs 
(#40383)
     add 841871f1e78 chore(deps): bump qs from 6.14.2 to 6.15.2 in 
/superset-websocket/utils/client-ws-app (#40382)
     add 816794b1985 fix(frontend): handle null/undefined path in ensureAppRoot 
(#39940)
     add 5003ee1499a docs: remove out-of-place phrase (#40226)
     add b21450681dc feat(i18n): add Thai (th) translations (AI-generated, 
needs review) (#40391)
     add 965ec472965 fix(explore): hide value input for unary filter operators 
(#39924)
     add 2fef4e41f20 feat(i18n): add Finnish (fi) translations (AI-generated, 
needs review) (#40390)
     add 9c90a6854c5 ci(translations): hard-block translation regressions in CI 
(#39443)
     add 8caa74354f6 chore(deps): bump markdown from 3.8.1 to 3.10.2 (#40389)
     add fe484f6bb28 fix(UserListModal): Success notification mentions user and 
not group (#40284)
     add b64561f3a37 chore(mcp): Simplify chart preview response (#40020)
     add 33585b0480c feat(mcp): make form_data_key optional in 
update_chart_preview (#39680)
     add 09572cd5efb chore(deps): bump tabulate from 0.9.0 to 0.10.0 (#40315)
     add c381677dfdf chore(deps): bump click from 8.2.1 to 8.4.0 (#40312)
     add bbe2f207d2d chore(deps): bump fs-extra from 11.3.2 to 11.3.5 in 
/superset-frontend (#40418)
     add 03d25277ba7 chore(deps): bump actions/upload-artifact from 7.0.0 to 
7.0.1 (#40417)
     add 9cc2deb9036 chore(deps): update zod requirement from ^4.4.1 to ^4.4.3 
in /superset-frontend/plugins/plugin-chart-echarts (#40416)
     add e9d46d843fa chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in 
/superset-frontend (#40415)
     add 709ef9b6155 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in 
/superset-frontend (#40321)
     add 8b551d3f742 chore(deps-dev): bump duckdb from 1.4.2 to 1.5.2 (#40381)
     add 952a6f3a239 fix(mcp): prevent encoding error on tools/list when 
middleware raises (#40446)
     add b6f545e61e1 feat(mcp): resolve call_tool proxy name and capture 
error_type in logging (#38915)
     add 7e088792b95 test(model): roll back uncommitted ds_col mutations in 
timestamp-expression tests (#40451)
     add 09a94fa26b4 feat(mcp): return browser-friendly hello page for GET /mcp 
from browsers (#40309)
     add 207a7bf7f9b fix: preserve dashboard certification when saving layout 
changes (#40193)
     add fb606623538 chore(mcp): revert browser-friendly hello page for GET 
/mcp from browsers (#40467)
     add d744f5715c4 fix(dashboard-export): include and re-attach roles in 
import/export (#21000) (#40136)
     add e041f253856 fix(mcp): return error when target_tab not found in 
add_chart_to_existing_dashboard (#40124)
     add ef4514f5abd fix(treemap): remove gaps between chart nodes (#40181)
     add 6bd1b462164 chore(deps): bump github/codeql-action from 4.35.5 to 
4.36.0 (#40458)
     add 894058fe3d4 chore(deps): bump fs-extra from 11.3.2 to 11.3.5 in 
/superset-frontend (#40438)
     add 08164e33bb4 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in 
/superset-frontend (#40437)
     add 9441240e5c4 chore(deps): bump react-syntax-highlighter from 16.1.0 to 
16.1.1 in /superset-frontend (#40436)
     add c73106b7a28 fix(chart-echarts): drop white textBorder from Funnel 
segment labels (#40468)
     add 0dc58d10420 feat(mcp): browser hello page with working middleware and 
config-driven content (#40471)
     add e68251fa704 feat(mcp): support custom SQL metrics in generate_chart 
and update_chart (#40448)
     add f037449b753 fix(roles): resolve HTTP 429 and 414 errors on role 
management page (#39465)
     add 8a0026b1736 fix(groups): display user full name in role edit user 
dropdown (#39942)
     add f663f47628a fix(embedding): require non-default JWT secret when 
embedded dashboards are enabled (#39999)
     add ec09cec6bdf fix(ci): correct first-interaction inputs in welcome 
workflow (#40508)
     add f7e1f968946 fix(i18n): Wrapped default Chat Error message in t() to 
support translation (#40504)
     add 96b96ad7d47 chore(deps): bump ws from 8.20.1 to 8.21.0 in 
/superset-websocket (#40483)
     add b0da0cf202b chore(ci): update GHA actions to Node.js 24-compatible 
versions (#40477)
     add 8853ab5c753 feat(mcp): add get_dashboard_layout companion tool (#40328)
     add b2320820b4a feat(core): SoftDeleteMixin and restore infrastructure 
(#39977)
     add 8f88bbcc796 chore(deps-dev): bump @swc/core from 1.15.33 to 1.15.40 in 
/superset-frontend (#40519)
     add 63ae80ab623 chore(deps-dev): bump baseline-browser-mapping from 
2.10.31 to 2.10.32 in /superset-frontend (#40518)
     add e1948c87c6d chore(deps-dev): bump webpack-sources from 3.4.1 to 3.5.0 
in /superset-frontend (#40517)
     add cf9ee99b5ae chore(deps-dev): bump 
eslint-plugin-react-you-might-not-need-an-effect from 0.10.1 to 0.10.2 in 
/superset-frontend (#40516)
     add 61cb0aeae74 chore(deps): bump @swc/core from 1.15.33 to 1.15.40 in 
/docs (#40515)
     add c3bda6baea9 chore(deps): bump fs-extra from 11.3.2 to 11.3.5 in 
/superset-frontend (#40487)
     add ead21d9789d chore(deps): bump react-syntax-highlighter from 16.1.0 to 
16.1.1 in /superset-frontend (#40486)
     add 661ff31c6d5 chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in 
/superset-frontend (#40485)
     add 63e3a18e8f4 chore(deps): bump baseline-browser-mapping from 2.10.31 to 
2.10.32 in /docs (#40484)
     add ae5823fb9c2 chore(deps-dev): bump tmp from 0.2.5 to 0.2.7 in 
/superset-frontend (#40480)
     add e73d2d0bf60 chore(deps): bump tmp from 0.2.4 to 0.2.7 in 
/superset-frontend/cypress-base (#40476)
     add 53e2793bc3c fix: coerce out-of-bounds nanosecond timestamps to NaT 
instead of raising (#40127)
     add f614863ed78 feat(mcp): add list and get tools for annotation layers 
and annotations (#40342)
     add a69bbcb044c feat(mcp): add list and get tools for saved queries and 
query history (#40346)
     add 8d8eeb35053 feat(mcp): add list_tags and get_tag_info MCP tools 
(#40349)
     add b8ea4448d69 feat(ci): perform static security analysis for GHA 
workflows  (#40510)
     add 40de44f6de6 feat(mcp): add list and get tools for action log and tasks 
(#40344)
     add 43c3c06035f chore(deps): bump vm2 from 3.11.3 to 3.11.5 in 
/superset-frontend (#40529)
     add 62b4ee3d9e0 feat(mcp): add list and get tools for users and roles 
(#40345)
     add 16b56873b02 fix(ci): restrict workflow_run jobs to trusted origins and 
add zizmor audit (#40533)
     add f0838353a5a feat(i18n): add Czech (cs) locale support for dates 
(#40241)
     add c9136af8b6d fix(ci): trigger python dep check when pyproject.toml 
changes (#39792)
     add d350792d438 feat(mcp): add list and get tools for CSS templates and 
themes (#40343)
     add 44a8d9d4695 chore(deps): pin lodash, lodash-es, and yaml in docs to 
patched releases (#40535)
     add 8c6271e9ff8 chore(deps): bump urllib3, Mako, and python-multipart for 
high-severity CVEs (#40534)
     add f165c3fa786 fix(ci): grant security-events write to GHA validator 
workflow (#40539)
     add 7f54b0b13d0 test(database): regression test for sqla engine creation 
(#27897) (#40237)
     add 838ee27c299 chore(deps): bump protobuf to 5.29.6 and 
google-cloud-bigquery-storage to 2.26.0 (#40537)
     add fa4e571db5d chore(deps): force uuid 11.1.1 in docs (#40542)
     add f4787a4f252 chore(deps): bump ws to 8.20.1 in docs (#40538)
     add 2e7bec3646c chore(ci): harden GitHub Actions workflows per static 
analysis (#40545)
     add 2d6e68b5f29 fix(ci): remove deprecated ephemeral env workflows + 
resolve fixable GHA-related security issues  (#40121)
     add 4d95a8d0348 feat(listview): compact filter pills with popover for CRUD 
views (#40169)
     add 1f3fff7939d chore(deps): bump simple-zstd from 1.4.2 to 2.1.0 in 
/superset-frontend

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (ff13e2ad331)
            \
             N -- N -- N   
refs/heads/dependabot/npm_and_yarn/superset-frontend/simple-zstd-2.1.0 
(1f3fff7939d)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |     2 +-
 .github/SECURITY.md                                |    16 +-
 .github/actions/setup-backend/action.yml           |     2 +-
 .github/actions/setup-docker/action.yml            |    15 +-
 .github/actions/setup-supersetbot/action.yml       |     5 +-
 .github/dependabot.yml                             |    66 +-
 .github/workflows/bashlib.sh                       |   125 +-
 .github/workflows/cancel_duplicates.yml            |    43 -
 .github/workflows/check_db_migration_confict.yml   |     2 +
 .github/workflows/claude.yml                       |     4 +
 .github/workflows/codeql-analysis.yml              |     6 +-
 .github/workflows/dependency-review.yml            |     4 +
 .github/workflows/docker.yml                       |     6 +-
 .github/workflows/embedded-sdk-release.yml         |     2 +
 .github/workflows/embedded-sdk-test.yml            |     2 +
 .github/workflows/ephemeral-env-pr-close.yml       |    83 -
 .github/workflows/ephemeral-env.yml                |   350 -
 .github/workflows/github-action-validator.yml      |    17 +-
 .github/workflows/labeler.yml                      |     2 +-
 .github/workflows/latest-release-tag.yml           |     4 +-
 .github/workflows/no-hold-label.yml                |     7 +-
 .github/workflows/release.yml                      |     6 +
 .github/workflows/showtime-trigger.yml             |     2 +-
 .github/workflows/superset-docs-deploy.yml         |    11 +-
 .github/workflows/superset-docs-verify.yml         |     8 +-
 .github/workflows/superset-e2e.yml                 |     4 +-
 .github/workflows/superset-extensions-cli.yml      |     2 +-
 .github/workflows/superset-frontend.yml            |     5 +-
 .../workflows/superset-python-integrationtest.yml  |     6 +-
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 .github/workflows/superset-python-unittest.yml     |     2 +-
 .../workflows/superset-translations-comment.yml    |    87 +
 .github/workflows/superset-translations.yml        |    90 +-
 .github/workflows/tag-release.yml                  |    13 +-
 .github/workflows/tech-debt.yml                    |     2 +
 .github/workflows/welcome-new-users.yml            |    13 +-
 .gitignore                                         |     2 +
 .pre-commit-config.yaml                            |    13 +-
 .pylintrc                                          |     2 +-
 Dockerfile                                         |     4 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |     6 +-
 .../contributing/development-setup.md              |     1 -
 docs/developer_docs/contributing/howtos.md         |    86 +
 docs/package.json                                  |    14 +-
 docs/plugins/remark-localize-badges.mjs            |    24 +-
 docs/versions-config.json                          |     2 +-
 docs/yarn.lock                                     |   439 +-
 pyproject.toml                                     |    15 +-
 requirements/base.txt                              |    14 +-
 requirements/development.txt                       |    25 +-
 scripts/change_detector.py                         |     4 +-
 scripts/oxlint.sh                                  |     2 +-
 scripts/translations/backfill_po.py                |   653 +
 scripts/translations/build_translation_index.py    |   153 +
 .../translations/check_translation_regression.py   |   250 +
 superset-core/pyproject.toml                       |     2 +-
 .../src/superset_core/semantic_layers/types.py     |    21 +
 .../.storybook/shared/ResizablePanel.tsx           |    32 +-
 .../cypress/e2e/dashboard/_skip.controls.test.ts   |   100 -
 .../dashboard/_skip.horizontalFilterBar.test.ts    |   292 -
 .../cypress/e2e/dashboard/_skip.key_value.test.ts  |    53 -
 .../cypress/e2e/dashboard/_skip.load.test.ts       |    51 -
 .../_skip.nativeFilters.noInitState.test.ts        |   385 -
 .../e2e/dashboard/_skip.nativeFilters.test.ts      |   431 -
 .../cypress/e2e/dashboard/_skip.tabs.test.ts       |   194 -
 .../cypress/e2e/dashboard/_skip.url_params.test.ts |    45 -
 .../cypress/e2e/dashboard/editmode.test.ts         |  1110 +-
 .../cypress/e2e/explore/_skip.AdhocFilters.test.ts |   109 -
 .../cypress/e2e/explore/_skip.AdhocMetrics.test.ts |   123 -
 .../e2e/explore/_skip.advanced_analytics.test.ts   |    65 -
 .../cypress/e2e/explore/_skip.annotations.test.ts  |    48 -
 .../cypress/e2e/explore/_skip.link.test.ts         |   192 -
 .../visualizations/_skip.big_number.test.js        |    80 -
 .../visualizations/_skip.big_number_total.test.js  |    79 -
 .../explore/visualizations/_skip.box_plot.test.js  |    65 -
 .../explore/visualizations/_skip.bubble.test.js    |   108 -
 .../explore/visualizations/_skip.compare.test.js   |   100 -
 .../visualizations/_skip.download_chart.test.js    |    54 -
 .../e2e/explore/visualizations/_skip.gauge.test.js |    75 -
 .../e2e/explore/visualizations/_skip.graph.test.ts |    91 -
 .../e2e/explore/visualizations/_skip.pie.test.js   |    82 -
 .../visualizations/_skip.pivot_table.test.js       |   106 -
 .../explore/visualizations/_skip.sunburst.test.js  |    97 -
 .../e2e/explore/visualizations/_skip.table.test.ts |   474 -
 .../e2e/explore/visualizations/_skip.time_table.js |   130 -
 .../explore/visualizations/_skip.world_map.test.js |    95 -
 superset-frontend/cypress-base/package-lock.json   |    12 +-
 superset-frontend/oxlint.json                      |    13 +-
 superset-frontend/package-lock.json                |   705 +-
 superset-frontend/package.json                     |    42 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../packages/superset-ui-core/package.json         |     2 +-
 .../src/chart/components/SuperChart.tsx            |     1 +
 .../src/components/Select/AsyncSelect.test.tsx     |   470 +
 .../src/components/Select/AsyncSelect.tsx          |   117 +-
 .../src/components/Select/utils.tsx                |     4 +
 .../src/components/TableView/TableView.test.tsx    |    34 +
 .../src/components/TableView/TableView.tsx         |    15 +
 .../src/connection/callApi/parseResponse.ts        |     3 +-
 .../src/query/types/QueryResponse.ts               |     1 +
 .../test/connection/callApi/parseResponse.test.ts  |    20 +
 .../src/switchboard.test.ts                        |     7 +-
 .../superset-ui-switchboard/src/switchboard.ts     |     6 +-
 .../src/Funnel/transformProps.ts                   |     2 -
 .../plugin-chart-echarts/src/Treemap/constants.ts  |     4 +-
 .../src/Treemap/transformProps.ts                  |     3 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |    45 +
 .../test/Funnel/transformProps.test.ts             |     9 +
 .../test/Treemap/transformProps.test.ts            |    41 +
 .../test/components/Echart.test.tsx                |   192 +
 .../plugin-chart-point-cluster-map/package.json    |     2 +-
 .../src/layers/Path/Path.test.tsx                  |   525 +-
 .../preset-chart-deckgl/src/layers/Path/Path.tsx   |   108 +-
 .../src/layers/Path/buildQuery.test.ts             |   355 +
 .../src/layers/Path/buildQuery.ts                  |    66 +-
 .../src/layers/Path/controlPanel.test.ts           |   242 +
 .../src/layers/Path/controlPanel.ts                |    73 +-
 .../src/layers/Path/transformProps.test.ts         |   364 +
 .../src/layers/Path/transformProps.ts              |    65 +-
 .../src/utilities/Shared_DeckGL.tsx                |    35 +
 superset-frontend/spec/helpers/testing-library.tsx |    32 +-
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |    20 +-
 .../src/SqlLab/components/EditorAutoSync/index.tsx |     5 +-
 .../src/SqlLab/components/EditorWrapper/index.tsx  |     5 +-
 .../SqlLab/components/EditorWrapper/useKeywords.ts |     5 +-
 .../components/ExploreCtasResultsButton/index.tsx  |     9 +-
 .../src/SqlLab/components/HighlightedSql/index.tsx |     9 +-
 .../src/SqlLab/components/PopEditorTab/index.tsx   |     5 +-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |     5 +-
 .../SqlLab/components/QueryLimitSelect/index.tsx   |     4 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |     5 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |     5 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |   105 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |    11 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |     5 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |     5 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |     4 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |     5 +-
 .../SqlEditorTopBar/useDatabaseSelector.ts         |     5 +-
 .../src/SqlLab/components/TableElement/index.tsx   |     5 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |     5 +-
 .../components/TableExploreTree/useTreeData.ts     |     4 +-
 .../src/SqlLab/components/TablePreview/index.tsx   |     5 +-
 .../components/DynamicGroupBy/controlPanel.test.ts |    53 +
 .../components/DynamicGroupBy/controlPanel.ts      |    13 +-
 .../components/TimeColumn/controlPanel.test.ts     |    53 +
 .../components/TimeColumn/controlPanel.ts          |     7 +-
 .../components/TimeGrain/controlPanel.test.ts      |    53 +
 .../components/TimeGrain/controlPanel.ts           |     7 +-
 .../src/components/Chart/ChartErrorMessage.tsx     |     3 +-
 .../src/components/Chart/chartAction.ts            |    13 +-
 .../src/components/Chart/chartActions.test.ts      |    51 +
 .../DatasourceModal/DatasourceModal.test.tsx       |    34 +-
 .../Datasource/DatasourceModal/index.tsx           |     4 +-
 .../components/ListView/CardSortSelect.test.tsx    |   102 +
 .../src/components/ListView/CardSortSelect.tsx     |    76 +-
 .../ListView/Filters/CompactFilterTrigger.test.tsx |   145 +
 .../ListView/Filters/CompactFilterTrigger.tsx      |   198 +
 .../ListView/Filters/CompactSelectPanel.test.tsx   |   339 +
 .../ListView/Filters/CompactSelectPanel.tsx        |   318 +
 .../src/components/ListView/Filters/DateRange.tsx  |   112 -
 .../ListView/Filters/FilterPopoverContent.test.tsx |    80 +
 .../ListView/Filters/FilterPopoverContent.tsx      |    74 +
 .../src/components/ListView/Filters/Select.tsx     |   146 -
 .../components/ListView/Filters/TimeRange.test.tsx |   251 +
 .../src/components/ListView/Filters/TimeRange.tsx  |   291 +
 .../src/components/ListView/Filters/index.test.tsx |   335 +-
 .../src/components/ListView/Filters/index.tsx      |   385 +-
 .../src/components/ListView/ListView.test.tsx      |    21 +-
 .../src/components/ListView/ListView.tsx           |    81 +-
 superset-frontend/src/components/ListView/types.ts |     4 +
 .../src/dashboard/actions/dashboardLayout.ts       |     1 +
 .../src/dashboard/actions/dashboardState.ts        |     9 +-
 .../src/dashboard/components/SliceAdder.tsx        |     2 +-
 .../components/menu/DownloadMenuItems/index.tsx    |     4 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |     4 +-
 .../components/ControlPanelsContainer.test.tsx     |    20 +
 .../explore/components/ControlPanelsContainer.tsx  |    11 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |     6 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |    64 +
 .../index.tsx                                      |    91 +-
 .../src/explore/components/controls/ViewQuery.tsx  |     9 +-
 .../src/features/groups/GroupListModal.tsx         |     3 +-
 superset-frontend/src/features/groups/utils.ts     |     3 +-
 .../reports/ReportModal/ReportModal.test.tsx       |    20 +-
 .../src/features/reports/ReportModal/actions.ts    |    23 +
 .../src/features/reports/ReportModal/index.tsx     |    38 +-
 .../src/features/reports/ReportModal/reducer.ts    |    21 +
 .../src/features/roles/RoleListEditModal.test.tsx  |   116 +-
 .../src/features/roles/RoleListEditModal.tsx       |    74 +-
 .../semanticLayers/MultiEnumControl.test.tsx       |    96 +
 .../semanticLayers/jsonFormsHelpers.test.ts        |    45 +-
 .../features/semanticLayers/jsonFormsHelpers.tsx   |    91 +-
 .../semanticViews/AddSemanticViewModal.tsx         |    38 +-
 .../src/features/users/UserListModal.tsx           |     2 +-
 superset-frontend/src/features/users/utils.ts      |     9 +
 .../filters/components/Range/controlPanel.test.ts  |    53 +
 .../src/filters/components/Range/controlPanel.ts   |    11 +-
 .../filters/components/Select/controlPanel.test.ts |    34 +-
 .../src/filters/components/Select/controlPanel.ts  |    56 +-
 .../src/filters/components/Time/controlPanel.ts    |     7 +-
 .../filters/components/TimeColumn/controlPanel.ts  |     7 +-
 .../filters/components/TimeGrain/controlPanel.ts   |     7 +-
 superset-frontend/src/hooks/useLocale.ts           |     2 +
 .../src/pages/ChartList/ChartList.test.tsx         |     9 +-
 .../DashboardList/DashboardList.cardview.test.tsx  |    16 +-
 .../src/pages/DashboardList/DashboardList.test.tsx |     8 +-
 .../DatasetList/DatasetList.integration.test.tsx   |     6 +-
 .../DatasetList/DatasetList.listview.test.tsx      |    23 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |     7 +-
 .../src/pages/FileHandler/index.test.tsx           |    19 +-
 .../src/pages/GroupsList/GroupsList.test.tsx       |    16 +-
 .../src/pages/RolesList/RolesList.test.tsx         |     7 +-
 .../RowLevelSecurityList.test.tsx                  |     9 +-
 .../src/pages/UsersList/UsersList.test.tsx         |    20 +-
 superset-frontend/src/utils/export.test.ts         |    13 +-
 superset-frontend/src/utils/export.ts              |     4 +-
 superset-frontend/src/utils/fetchOptions.ts        |    29 +-
 superset-frontend/src/utils/pathUtils.test.ts      |    14 +
 superset-frontend/src/utils/pathUtils.ts           |    11 +-
 superset-frontend/src/utils/safeStringify.test.ts  |    26 +-
 superset-frontend/src/utils/safeStringify.ts       |    16 +-
 superset-frontend/src/views/store.ts               |    13 +-
 superset-frontend/webpack.proxy-config.js          |     1 +
 superset-websocket/package-lock.json               |   320 +-
 superset-websocket/package.json                    |    14 +-
 superset-websocket/src/index.ts                    |     6 +-
 superset-websocket/tsconfig.json                   |     1 +
 .../utils/client-ws-app/package-lock.json          |    12 +-
 superset/charts/schemas.py                         |     4 +
 superset/commands/dashboard/export.py              |    10 +
 superset/commands/dashboard/importers/v1/utils.py  |    53 +-
 superset/commands/dataset/importers/v1/utils.py    |    39 +-
 superset/commands/importers/v1/utils.py            |    47 +
 superset/commands/report/base.py                   |     5 +-
 superset/commands/report/update.py                 |    30 +-
 superset/commands/restore.py                       |    98 +
 superset/common/query_context_processor.py         |    13 +
 superset/common/utils/query_cache_manager.py       |    21 +-
 superset/config.py                                 |    12 +-
 superset/constants.py                              |     2 +
 superset/daos/base.py                              |    88 +-
 superset/daos/database.py                          |     7 +
 superset/daos/{security.py => role.py}             |    11 +-
 superset/dashboards/schemas.py                     |     1 +
 superset/db_engine_specs/base.py                   |    12 +-
 superset/db_engine_specs/bigquery.py               |   109 +-
 superset/db_engine_specs/postgres.py               |    42 +-
 superset/initialization/__init__.py                |    75 +-
 superset/mcp_service/__main__.py                   |    34 +-
 .../mcp_service/action_log}/__init__.py            |     0
 superset/mcp_service/action_log/schemas.py         |   302 +
 .../{database => action_log}/tool/__init__.py      |     8 +-
 .../action_log/tool/get_action_log_info.py         |    97 +
 .../action_log/tool/list_action_logs.py            |   152 +
 .../mcp_service/annotation_layer}/__init__.py      |     0
 superset/mcp_service/annotation_layer/schemas.py   |   367 +
 .../{explore => annotation_layer}/tool/__init__.py |    17 +-
 .../tool/get_annotation_layer_info.py              |    97 +
 .../tool/get_layer_annotation_info.py              |   130 +
 .../tool/list_annotation_layers.py                 |   123 +
 .../tool/list_layer_annotations.py                 |   144 +
 superset/mcp_service/app.py                        |   185 +-
 superset/mcp_service/auth.py                       |   173 +-
 superset/mcp_service/chart/ascii_charts.py         |    65 +-
 superset/mcp_service/chart/chart_helpers.py        |   135 +-
 superset/mcp_service/chart/chart_utils.py          |   150 +-
 superset/mcp_service/chart/compile.py              |   101 +
 superset/mcp_service/chart/schemas.py              |   476 +-
 superset/mcp_service/chart/tool/generate_chart.py  |    43 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |   214 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |   105 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   111 +-
 superset/mcp_service/chart/tool/list_charts.py     |     7 +-
 superset/mcp_service/chart/tool/update_chart.py    |    33 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    47 +-
 .../chart/validation/dataset_validator.py          |    45 +-
 .../chart/validation/runtime/__init__.py           |     4 +-
 .../validation/runtime/chart_type_suggester.py     |    23 +-
 .../chart/validation/schema_validator.py           |    35 +-
 superset/mcp_service/common/schema_discovery.py    |    87 +-
 superset/mcp_service/constants.py                  |     4 +-
 .../mcp_service/css_template}/__init__.py          |     0
 superset/mcp_service/css_template/schemas.py       |   280 +
 .../{database => css_template}/tool/__init__.py    |     8 +-
 .../css_template/tool/get_css_template_info.py     |   108 +
 .../css_template/tool/list_css_templates.py        |   150 +
 superset/mcp_service/dashboard/schemas.py          |   315 +-
 superset/mcp_service/dashboard/tool/__init__.py    |     2 +
 .../tool/add_chart_to_existing_dashboard.py        |    91 +-
 .../dashboard/tool/generate_dashboard.py           |    14 +
 .../dashboard/tool/get_dashboard_layout.py         |   119 +
 .../mcp_service/dashboard/tool/list_dashboards.py  |     9 +-
 superset/mcp_service/database/schemas.py           |    23 +-
 superset/mcp_service/dataset/schemas.py            |    30 +-
 superset/mcp_service/dataset/tool/list_datasets.py |     7 +-
 .../explore/tool/generate_explore_link.py          |    41 +-
 superset/mcp_service/jwt_verifier.py               |   275 +-
 superset/mcp_service/mcp_config.py                 |     6 +-
 superset/mcp_service/mcp_core.py                   |    22 +-
 superset/mcp_service/middleware.py                 |   180 +-
 superset/mcp_service/privacy.py                    |    13 +-
 .../mcp_service/query}/__init__.py                 |     0
 superset/mcp_service/query/schemas.py              |   293 +
 .../query/tool}/__init__.py                        |     7 +-
 superset/mcp_service/query/tool/get_query_info.py  |   122 +
 superset/mcp_service/query/tool/list_queries.py    |   156 +
 .../mcp_service/role}/__init__.py                  |     0
 superset/mcp_service/role/schemas.py               |   264 +
 .../role/tool}/__init__.py                         |     7 +-
 superset/mcp_service/role/tool/get_role_info.py    |    97 +
 superset/mcp_service/role/tool/list_roles.py       |   135 +
 .../mcp_service/saved_query}/__init__.py           |     0
 superset/mcp_service/saved_query/schemas.py        |   269 +
 .../{database => saved_query}/tool/__init__.py     |     8 +-
 .../saved_query/tool/get_saved_query_info.py       |   129 +
 .../saved_query/tool/list_saved_queries.py         |   158 +
 superset/mcp_service/server.py                     |   120 +-
 superset/mcp_service/sql_lab/schemas.py            |    21 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    50 +-
 .../sql_lab/tool/open_sql_lab_with_context.py      |     7 +-
 superset/mcp_service/system/schemas.py             |    92 +-
 superset/mcp_service/system/tool/__init__.py       |     2 +
 superset/mcp_service/system/tool/find_users.py     |   101 +
 .../mcp_service/system/tool/generate_bug_report.py |     6 +
 superset/mcp_service/system/tool/get_schema.py     |    92 +-
 .../mcp_service/tag}/__init__.py                   |     0
 superset/mcp_service/tag/schemas.py                |   251 +
 .../execution => mcp_service/tag/tool}/__init__.py |     8 +-
 superset/mcp_service/tag/tool/get_tag_info.py      |   108 +
 superset/mcp_service/tag/tool/list_tags.py         |   157 +
 .../mcp_service/task}/__init__.py                  |     0
 superset/mcp_service/task/schemas.py               |   259 +
 .../task/tool}/__init__.py                         |     7 +-
 superset/mcp_service/task/tool/get_task_info.py    |   107 +
 superset/mcp_service/task/tool/list_tasks.py       |   140 +
 .../mcp_service/theme}/__init__.py                 |     0
 superset/mcp_service/theme/schemas.py              |   305 +
 .../theme/tool}/__init__.py                        |     7 +-
 superset/mcp_service/theme/tool/get_theme_info.py  |   116 +
 superset/mcp_service/theme/tool/list_themes.py     |   147 +
 .../mcp_service/user}/__init__.py                  |     0
 superset/mcp_service/user/schemas.py               |   302 +
 .../user/tool}/__init__.py                         |     7 +-
 superset/mcp_service/user/tool/get_user_info.py    |   107 +
 superset/mcp_service/user/tool/list_users.py       |   151 +
 superset/mcp_service/utils/response_utils.py       |    11 +
 superset/mcp_service/utils/sanitization.py         |   139 +-
 superset/models/core.py                            |    71 +-
 superset/models/helpers.py                         |   260 +-
 superset/models/sql_lab.py                         |    14 +-
 superset/reports/api.py                            |    79 +-
 superset/reports/schemas.py                        |    24 +
 superset/result_set.py                             |     4 +-
 superset/security/manager.py                       |    50 +-
 superset/semantic_layers/mapper.py                 |   192 +-
 superset/sql/dialects/db2.py                       |     6 +
 superset/sql/dialects/dremio.py                    |     6 +-
 superset/sql/dialects/firebolt.py                  |    11 +-
 superset/sql/parse.py                              |    90 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  4264 +--
 superset/translations/fi/LC_MESSAGES/messages.po   | 30258 +++++++++++++++++++
 superset/translations/fr/LC_MESSAGES/messages.po   |  1774 +-
 superset/translations/requirements.txt             |     1 +
 superset/translations/sk/LC_MESSAGES/messages.po   | 11768 ++++----
 superset/translations/sl/LC_MESSAGES/messages.po   |     6 +-
 superset/translations/th/LC_MESSAGES/messages.po   | 29937 ++++++++++++++++++
 superset/utils/webdriver.py                        |    13 +-
 superset/views/base_api.py                         |    30 +
 superset/views/filters.py                          |   213 +-
 tests/integration_tests/charts/api_tests.py        |    70 +
 tests/integration_tests/model_tests.py             |    89 +-
 tests/integration_tests/reports/api_tests.py       |     3 +-
 tests/unit_tests/charts/test_client_processing.py  |    34 +-
 tests/unit_tests/commands/dashboard/export_test.py |    68 +
 .../importers/v1/test_find_existing_for_import.py  |   180 +
 .../unit_tests/commands/importers/v1/utils_test.py |   119 +
 tests/unit_tests/commands/report/execute_test.py   |    43 +
 tests/unit_tests/commands/report/update_test.py    |   148 +-
 .../commands/test_base_restore_command.py          |   187 +
 .../common/test_query_context_processor.py         |   120 +
 tests/unit_tests/connectors/sqla/utils_test.py     |    48 +
 tests/unit_tests/dao/base_dao_test.py              |     7 +
 tests/unit_tests/daos/test_base_dao_soft_delete.py |   100 +
 .../dashboards/commands/importers/v1/utils_test.py |   245 +
 tests/unit_tests/datasets/api_tests.py             |    43 +
 tests/unit_tests/db_engine_specs/test_bigquery.py  |   132 +-
 tests/unit_tests/db_engine_specs/test_postgres.py  |    41 +-
 .../unit_tests/mcp_service/action_log}/__init__.py |     0
 .../mcp_service/action_log/tool}/__init__.py       |     0
 .../action_log/tool/test_action_log_tools.py       |   401 +
 .../mcp_service/annotation_layer}/__init__.py      |     0
 .../mcp_service/annotation_layer/tool}/__init__.py |     0
 .../tool/test_annotation_layer_tools.py            |   562 +
 .../mcp_service/chart/test_ascii_charts.py         |    83 +-
 .../mcp_service/chart/test_big_number_chart.py     |    41 +-
 .../mcp_service/chart/test_chart_schemas.py        |   295 +
 .../mcp_service/chart/test_chart_utils.py          |   268 +-
 tests/unit_tests/mcp_service/chart/test_compile.py |    87 +
 .../mcp_service/chart/test_new_chart_types.py      |   286 +
 .../mcp_service/chart/tool/test_generate_chart.py  |    90 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |   285 +
 .../mcp_service/chart/tool/test_get_chart_info.py  |   243 +-
 .../chart/tool/test_get_chart_preview.py           |   115 +-
 .../mcp_service/chart/tool/test_update_chart.py    |    58 +
 .../chart/tool/test_update_chart_preview.py        |    72 +-
 .../chart/validation/test_runtime_validator.py     |    25 +
 .../mcp_service/css_template}/__init__.py          |     0
 .../mcp_service/css_template/tool}/__init__.py     |     0
 .../css_template/tool/test_css_template_tools.py   |   280 +
 .../tool/test_add_chart_to_existing_dashboard.py   |    52 +
 .../dashboard/tool/test_dashboard_generation.py    |   179 +-
 .../dashboard/tool/test_get_dashboard_layout.py    |   285 +
 .../mcp_service/dataset/tool/test_dataset_tools.py |    18 +-
 .../explore/tool/test_generate_explore_link.py     |    46 +
 .../unit_tests/mcp_service/query}/__init__.py      |     0
 .../unit_tests/mcp_service/query/tool}/__init__.py |     0
 .../mcp_service/query/tool/test_query_tools.py     |   328 +
 .../unit_tests/mcp_service/role}/__init__.py       |     0
 .../unit_tests/mcp_service/role/tool}/__init__.py  |     0
 .../mcp_service/role/tool/test_role_tools.py       |   336 +
 .../mcp_service/saved_query}/__init__.py           |     0
 .../mcp_service/saved_query/tool}/__init__.py      |     0
 .../saved_query/tool/test_saved_query_tools.py     |   337 +
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |   150 +
 .../sql_lab/tool/test_open_sql_lab_with_context.py |    43 +-
 .../mcp_service/system/tool/test_find_users.py     |   257 +
 .../system/tool/test_generate_bug_report.py        |    36 +
 .../system/tool/test_get_current_user.py           |    66 +-
 .../mcp_service/system/tool/test_get_schema.py     |   197 +-
 .../unit_tests/mcp_service/tag}/__init__.py        |     0
 .../unit_tests/mcp_service/tag/tool}/__init__.py   |     0
 .../mcp_service/tag/tool/test_tag_tools.py         |   268 +
 .../unit_tests/mcp_service/task}/__init__.py       |     0
 .../unit_tests/mcp_service/task/tool}/__init__.py  |     0
 .../mcp_service/task/tool/test_task_tools.py       |   284 +
 tests/unit_tests/mcp_service/test_auth_rbac.py     |   120 +
 tests/unit_tests/mcp_service/test_jwt_verifier.py  |     6 +-
 .../mcp_service/test_jwt_verifier_browser_hello.py |   126 +
 .../mcp_service/test_mcp_tool_registration.py      |   138 +-
 tests/unit_tests/mcp_service/test_middleware.py    |   206 +-
 .../mcp_service/test_middleware_logging.py         |   282 +-
 .../mcp_service/test_tool_search_transform.py      |    30 +-
 .../unit_tests/mcp_service/theme}/__init__.py      |     0
 .../unit_tests/mcp_service/theme/tool}/__init__.py |     0
 .../mcp_service/theme/tool/test_theme_tools.py     |   267 +
 .../unit_tests/mcp_service/user}/__init__.py       |     0
 .../unit_tests/mcp_service/user/tool}/__init__.py  |     0
 .../mcp_service/user/tool/test_user_tools.py       |   449 +
 .../mcp_service/utils/test_sanitization.py         |   200 +
 tests/unit_tests/models/core_test.py               |    94 +
 tests/unit_tests/models/helpers_test.py            |    53 +
 tests/unit_tests/models/sql_lab_test.py            |    57 +-
 tests/unit_tests/models/test_soft_delete_mixin.py  |   566 +
 tests/unit_tests/reports/schemas_test.py           |   158 +-
 tests/unit_tests/result_set_test.py                |    20 +
 .../unit_tests/scripts/translations}/__init__.py   |     0
 .../scripts/translations/backfill_po_test.py       |   312 +
 .../translations/build_translation_index_test.py   |   256 +
 tests/unit_tests/semantic_layers/mapper_test.py    |   372 +-
 tests/unit_tests/semantic_layers/types_test.py     |    58 +
 tests/unit_tests/sql/parse_tests.py                |   131 +
 tests/unit_tests/utils/webdriver_test.py           |    87 +
 tests/unit_tests/views/test_soft_delete_filter.py  |   356 +
 464 files changed, 100350 insertions(+), 17481 deletions(-)
 delete mode 100644 .github/workflows/cancel_duplicates.yml
 delete mode 100644 .github/workflows/ephemeral-env-pr-close.yml
 delete mode 100644 .github/workflows/ephemeral-env.yml
 create mode 100644 .github/workflows/superset-translations-comment.yml
 create mode 100644 scripts/translations/backfill_po.py
 create mode 100644 scripts/translations/build_translation_index.py
 create mode 100755 scripts/translations/check_translation_regression.py
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.controls.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.horizontalFilterBar.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.key_value.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.load.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.nativeFilters.noInitState.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.nativeFilters.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.tabs.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.url_params.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/_skip.AdhocFilters.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/_skip.AdhocMetrics.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/_skip.advanced_analytics.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/_skip.annotations.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/_skip.link.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.big_number.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.big_number_total.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.box_plot.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.bubble.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.compare.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.download_chart.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.gauge.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.graph.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.pie.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.pivot_table.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.sunburst.test.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.table.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.time_table.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.world_map.test.js
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/components/Echart.test.tsx
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/layers/Path/buildQuery.test.ts
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/layers/Path/controlPanel.test.ts
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/layers/Path/transformProps.test.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DynamicGroupBy/controlPanel.test.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/TimeColumn/controlPanel.test.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/TimeGrain/controlPanel.test.ts
 create mode 100644 
superset-frontend/src/components/ListView/CardSortSelect.test.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/CompactFilterTrigger.test.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/CompactFilterTrigger.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/CompactSelectPanel.test.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/CompactSelectPanel.tsx
 delete mode 100644 
superset-frontend/src/components/ListView/Filters/DateRange.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/FilterPopoverContent.test.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/FilterPopoverContent.tsx
 delete mode 100644 superset-frontend/src/components/ListView/Filters/Select.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/TimeRange.test.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/TimeRange.tsx
 create mode 100644 
superset-frontend/src/features/semanticLayers/MultiEnumControl.test.tsx
 create mode 100644 
superset-frontend/src/filters/components/Range/controlPanel.test.ts
 create mode 100644 superset/commands/restore.py
 copy superset/daos/{security.py => role.py} (78%)
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/action_log}/__init__.py (100%)
 create mode 100644 superset/mcp_service/action_log/schemas.py
 copy superset/mcp_service/{database => action_log}/tool/__init__.py (84%)
 create mode 100644 superset/mcp_service/action_log/tool/get_action_log_info.py
 create mode 100644 superset/mcp_service/action_log/tool/list_action_logs.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/annotation_layer}/__init__.py (100%)
 create mode 100644 superset/mcp_service/annotation_layer/schemas.py
 copy superset/mcp_service/{explore => annotation_layer}/tool/__init__.py (68%)
 create mode 100644 
superset/mcp_service/annotation_layer/tool/get_annotation_layer_info.py
 create mode 100644 
superset/mcp_service/annotation_layer/tool/get_layer_annotation_info.py
 create mode 100644 
superset/mcp_service/annotation_layer/tool/list_annotation_layers.py
 create mode 100644 
superset/mcp_service/annotation_layer/tool/list_layer_annotations.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/css_template}/__init__.py (100%)
 create mode 100644 superset/mcp_service/css_template/schemas.py
 copy superset/mcp_service/{database => css_template}/tool/__init__.py (83%)
 create mode 100644 
superset/mcp_service/css_template/tool/get_css_template_info.py
 create mode 100644 superset/mcp_service/css_template/tool/list_css_templates.py
 create mode 100644 superset/mcp_service/dashboard/tool/get_dashboard_layout.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/query}/__init__.py (100%)
 create mode 100644 superset/mcp_service/query/schemas.py
 copy superset/{models/sql_types => mcp_service/query/tool}/__init__.py (86%)
 create mode 100644 superset/mcp_service/query/tool/get_query_info.py
 create mode 100644 superset/mcp_service/query/tool/list_queries.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/role}/__init__.py (100%)
 create mode 100644 superset/mcp_service/role/schemas.py
 copy superset/{models/sql_types => mcp_service/role/tool}/__init__.py (86%)
 create mode 100644 superset/mcp_service/role/tool/get_role_info.py
 create mode 100644 superset/mcp_service/role/tool/list_roles.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/saved_query}/__init__.py (100%)
 create mode 100644 superset/mcp_service/saved_query/schemas.py
 copy superset/mcp_service/{database => saved_query}/tool/__init__.py (83%)
 create mode 100644 
superset/mcp_service/saved_query/tool/get_saved_query_info.py
 create mode 100644 superset/mcp_service/saved_query/tool/list_saved_queries.py
 create mode 100644 superset/mcp_service/system/tool/find_users.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/tag}/__init__.py (100%)
 create mode 100644 superset/mcp_service/tag/schemas.py
 copy superset/{sql/execution => mcp_service/tag/tool}/__init__.py (86%)
 create mode 100644 superset/mcp_service/tag/tool/get_tag_info.py
 create mode 100644 superset/mcp_service/tag/tool/list_tags.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/task}/__init__.py (100%)
 create mode 100644 superset/mcp_service/task/schemas.py
 copy superset/{models/sql_types => mcp_service/task/tool}/__init__.py (86%)
 create mode 100644 superset/mcp_service/task/tool/get_task_info.py
 create mode 100644 superset/mcp_service/task/tool/list_tasks.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/theme}/__init__.py (100%)
 create mode 100644 superset/mcp_service/theme/schemas.py
 copy superset/{models/sql_types => mcp_service/theme/tool}/__init__.py (86%)
 create mode 100644 superset/mcp_service/theme/tool/get_theme_info.py
 create mode 100644 superset/mcp_service/theme/tool/list_themes.py
 copy {superset-core/src/superset_core/common => 
superset/mcp_service/user}/__init__.py (100%)
 create mode 100644 superset/mcp_service/user/schemas.py
 copy superset/{models/sql_types => mcp_service/user/tool}/__init__.py (86%)
 create mode 100644 superset/mcp_service/user/tool/get_user_info.py
 create mode 100644 superset/mcp_service/user/tool/list_users.py
 create mode 100644 superset/translations/fi/LC_MESSAGES/messages.po
 create mode 100644 superset/translations/th/LC_MESSAGES/messages.po
 create mode 100644 
tests/unit_tests/commands/importers/v1/test_find_existing_for_import.py
 create mode 100644 tests/unit_tests/commands/importers/v1/utils_test.py
 create mode 100644 tests/unit_tests/commands/test_base_restore_command.py
 create mode 100644 tests/unit_tests/daos/test_base_dao_soft_delete.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/action_log}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/action_log/tool}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/action_log/tool/test_action_log_tools.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/annotation_layer}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/annotation_layer/tool}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/annotation_layer/tool/test_annotation_layer_tools.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/css_template}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/css_template/tool}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/css_template/tool/test_css_template_tools.py
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_get_dashboard_layout.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/query}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/query/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/query/tool/test_query_tools.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/role}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/role/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/role/tool/test_role_tools.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/saved_query}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/saved_query/tool}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/saved_query/tool/test_saved_query_tools.py
 create mode 100644 tests/unit_tests/mcp_service/system/tool/test_find_users.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/tag}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/tag/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/tag/tool/test_tag_tools.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/task}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/task/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/task/tool/test_task_tools.py
 create mode 100644 
tests/unit_tests/mcp_service/test_jwt_verifier_browser_hello.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/theme}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/theme/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/theme/tool/test_theme_tools.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/user}/__init__.py (100%)
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/mcp_service/user/tool}/__init__.py (100%)
 create mode 100644 tests/unit_tests/mcp_service/user/tool/test_user_tools.py
 create mode 100644 tests/unit_tests/models/test_soft_delete_mixin.py
 copy {superset-core/src/superset_core/common => 
tests/unit_tests/scripts/translations}/__init__.py (100%)
 create mode 100644 tests/unit_tests/scripts/translations/backfill_po_test.py
 create mode 100644 
tests/unit_tests/scripts/translations/build_translation_index_test.py
 create mode 100644 tests/unit_tests/semantic_layers/types_test.py
 create mode 100644 tests/unit_tests/views/test_soft_delete_filter.py

Reply via email to