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

aminghadersohi pushed a change to branch sc-120950-purge-audit-window
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 75a0167330f test(prune-audit): pin category scope wiring and MySQL 
window shape
     add 2ef8e0c1dee fix(dashboard): require published for the read-gate's 
datasource fallback (#44093)
     add a68503b84af chore(deps): bump zod from 4.5.4 to 4.6.1 in 
/superset-frontend (#44383)
     add 5576b73646a chore(deps-dev): bump @types/node from 26.5.0 to 26.5.1 in 
/superset-websocket (#44374)
     add bb5d138c50e chore(deps): bump 
apache/infrastructure-actions/allowlist-check from 1.0.2 to 1.0.3 (#44376)
     add 68433b08b5b chore(deps): bump astral-sh/setup-uv from 10.0.1 to 10.1.0 
(#44377)
     add dedfe23a805 chore(deps-dev): bump @types/node from 26.5.0 to 26.5.1 in 
/superset-embedded-sdk (#44375)
     add 91c917e199c feat(ci): flag chart metadata changes via labeler (#33180)
     add 35768da1fdb fix(dashboard): keep Save enabled when the properties 
modal name is set (#44356)
     add 66e64cc7d89 fix(time-format): stop reading short digit-only strings as 
epoch offsets (#44352)
     add c28a8942b7e chore(deps): bump the rjsf group in /superset-frontend 
with 3 updates (#44378)
     add ca0f5cfa8e6 chore(deps-dev): bump @types/node from 26.5.0 to 26.5.1 in 
/superset-frontend (#44379)
     add 8f4a70cfdf4 chore(deps-dev): bump minimizer-webpack-plugin from 5.10.0 
to 5.10.1 in /superset-frontend (#44380)
     add 2ad0053642e chore(deps-dev): bump react-refresh from 0.18.0 to 0.19.0 
in /superset-frontend (#44381)
     add e8e10fb85c0 fix(charts): don't auto-migrate table charts to 
ag-grid-table on import unless enabled (#44151)
     add c426186a2e6 fix(versioning): scope stream_results to the activity 
SELECTs instead of mutating the session connection (#44261)
     add fc71d0f9e81 fix(dataset): lock the If-Match validator's transaction-id 
read (#44091)
     add 77dbaafc2af chore(versioning): write-path latency metric for the 
capture finalizer (#44009)
     add 4c3a890d8b6 chore(deps): bump flask-appbuilder from 5.2.2 to 5.2.3 
(#44400)
     add 00c2f22fae2 fix(dashboard): make system default/dark themes assignable 
to a dashboard (#44361)
     add 678bfae8859 fix(charts): align week-grain time comparison offsets to 
whole weeks (#43936)
     add 6b80fa7ec29 fix(mypy): narrow chart.uuid before 
RestoreChartVersionCommand in restore tests (#44394)
     add 3abc3588fab fix(sqla): guard unprotected Jinja template rendering in 
ExploreMixin (#44172)
     add da1cac85f4d fix(versioning): refuse a version restore whose child 
history was pruned (sc-120012) (#44251)
     add 30e5745cd74 fix(mcp): return a structured Unsupported marker for 
semantic-view get_chart_sql (#44267)
     add 795cdf2bf15 fix(mcp): include semantic views in get_dashboard_datasets 
(#44269)
     add 22ae4405d4e fix(explore): anchor the add column/metric/filter popovers 
to their trigger (#44274)
     add f1dc56607e2 fix(i18n): make module-level error constants lazy gettext 
(#44180)
     add 944e92dd578 feat(soft-delete): translate unique collisions with 
soft-deleted rows into restore guidance (#44184)
     add 20d7a3e9aea fix(table): preserve semantic temporal column references 
(#44369)
     add 560828d620a fix(dashboard): resolve display-control and drill 
datasources by type, not id alone (#42539)
     add fc80a14850e feat(mcp): apply native dashboard filters from an MCP 
client (#44096)
     add 394bca55c79 fix(mcp): preserve dashboard filter values for restricted 
users (#44107)
     add bd786e2bea2 feat(versioning): render the starting version as the 
oldest history row for charts and dashboards (#44258)
     add a7dab4a5519 fix(presto): require PyHive 0.7 for SQLAlchemy 2 (#44285)
     add b5ad3964165 fix(query): resolve sub-day "Last <unit>" time_range 
shorthand (#44254)
     add b8f5b209285 test(frontend): await userEvent calls missed by the 
user-event v14 migration (#44335)
     add 9bb5a95976a chore(deps-dev): bump the babel group in 
/superset-embedded-sdk with 3 updates (#44417)
     add 4f1a34446df chore(deps): bump zod from 4.6.1 to 4.6.2 in 
/superset-frontend (#44419)
     add 282bcb0edd8 chore(deps-dev): bump baseline-browser-mapping from 
2.11.21 to 2.11.22 in /superset-frontend (#44421)
     add 79af673bca5 chore(deps-dev): bump webpack-bundle-analyzer from 5.3.2 
to 5.3.3 in /superset-frontend (#44422)
     add 16090803bbc chore(deps): bump @googleapis/sheets from 14.0.0 to 17.0.0 
in /superset-frontend (#44420)
     add 0599cc2516b fix(mcp): accept a time grain in get_table on semantic 
views (#44270)
     add b7f1bdd571c fix(mcp): keep the default list_metrics page under the 
response-token cap (#44266)
     add 4bb51d76694 test(mcp): pin distinct cache keys for semantic-view 
get_table across time ranges (#44263)
     add e4bbd3973a2 fix(charts): type-aware datasource access parity for the 
chart list (#43848)
     add 8947d3b3763 fix(semantic-layers): mask nested and union secrets in 
layer configuration (#43827)
     add 627f32ca625 fix(versioning): mount the dashboard version-history panel 
inside the content area, below the header (#44255)
     add ae5d8d89a38 fix(datasets): return 400, not 500, for a body-less purge 
POST; point the database-delete refusal at the purge flow (#44264)
     add 9d4db452551 fix(charts): allow saving charts on semantic views 
(create/update rejected non-table datasource types) (#44416)
     add 43f85576d99 fix(semantic-layer): mapper honors the SemanticView ABC 
contract (#43886)
     add 062bf948e59 fix(semantic-layer): preserve independent source 
permissions (#43887)
     add 2e1cf8a72c4 fix(versioning): map the restore registry guard's 
LookupError to 422 instead of 500 (#44253)
     add 5ecb19cf92a fix(mcp): pre-validate metric/dimension compatibility in 
semantic-view get_table (#44265)
     add 128c0c159ab fix(mcp): rebuild full parent chains in dashboard layouts 
(#44405)
     add 43fee876722 test(versioning): mock the restore locking re-read in the 
#44253 LookupError tests (fixes red master) (#44445)
     add f170d2670e5 chore(deps): bump baseline-browser-mapping from 2.11.21 to 
2.11.22 in /docs (#44418)
     add 253eef33d5d fix(databricks): prefer python-connector spec over legacy 
Hive spec for unrecognized drivers (#44449)
     add db556ec66eb chore(deps): bump pyjwt from 2.13.0 to 2.14.0 (#44442)
     add 4511c138193 chore(deps-dev): bump psycopg2-binary from 2.9.12 to 
2.9.13 (#44444)
     add 6300622dd4a fix(mcp): catch ValueError for reversed date range in 
query_dataset (#44462)
     add c9fd9bf94f4 fix(bigquery): avoid ESCAPE clause in column-value 
typeahead search (SC-121408) (#44429)
     add 27935c2c648 chore(deps-dev): bump @testing-library/dom from 10.4.1 to 
10.4.2 in /superset-frontend (#44488)
     add 3f924aa1aab chore(deps): bump antd from 6.6.3 to 6.6.4 in 
/superset-frontend (#44487)
     add 76496b2df61 chore(deps): bump zod from 4.6.2 to 4.6.5 in 
/superset-frontend (#44485)
     add 41aa1221be0 chore(deps-dev): bump @formatjs/intl-durationformat from 
0.10.18 to 0.11.1 in /superset-frontend (#44484)
     add 9bb07f2292a chore(deps-dev): bump baseline-browser-mapping from 
2.11.22 to 2.11.23 in /superset-frontend (#44483)
     add 07b28abe82a chore(deps-dev): bump webpack from 5.110.3 to 5.111.0 in 
/superset-frontend (#44482)
     add 38fac53e55c chore(deps): bump antd from 6.6.3 to 6.6.4 in /docs 
(#44481)
     add d0739416d50 chore(deps-dev): bump webpack from 5.110.3 to 5.111.0 in 
/docs (#44480)
     add a82a001fe0a chore(deps): bump js-yaml from 5.4.1 to 5.4.2 in /docs 
(#44479)
     add caa82d5b102 chore(deps): bump codecov/codecov-action from 7.0.0 to 
7.1.0 (#44477)
     add 085e535b8e7 chore(deps-dev): bump webpack from 5.110.3 to 5.111.0 in 
/superset-embedded-sdk (#44476)
     add 1f1e09c971e chore(deps): bump hot-shots from 17.1.0 to 17.1.1 in 
/superset-websocket (#44475)
     add b0f7c581db2 chore(deps): bump yeoman-generator from 8.4.0 to 9.1.0 in 
/superset-frontend (#44489)
     add 7486b7187bf chore(deps): bump morgan from 1.12.0 to 1.12.1 in 
/superset-websocket/utils/client-ws-app (#44474)
     add fc016454fb0 chore(deps): bump baseline-browser-mapping from 2.11.22 to 
2.11.23 in /docs (#44478)
     add c11dc027969 fix(sql): classify ATTACH/DETACH and MySQL 
REPLACE/RENAME/SET PASSWORD as mutating (#44072)
     add 00b1a353018 fix(shillelagh): disable ATTACH DATABASE on APSW 
connections (#43991)
     add 8ec8beecffd fix(reports): enable alert retries with execution 
safeguards (#44336)
     add 2ea9ef6cef7 feat(mcp): search dataset descriptions and add an optional 
per-role dataset scope (#44146)
     add 8b9b055ef0f fix(mcp): never block a committed update_chart write as 
ToolError (#44386)
     add 371ad7cac5a refactor(soft-delete): hoist triplicated restore/purge 
route bodies onto SoftDeleteApiMixin (#44259)
     add 5a7d269580f fix(charts): guard set_related_perm against unknown 
datasource_type (#43885)
     add 774d83b4d63 fix(sql-lab): remove the ecpg-based PostgreSQL SQL 
validator (#43020)
     add 322eaeaf991 fix(ci): align Docker image publishing policy (#44250)
     add 782b7ae924c fix(security): skip session checks for health probes 
(#43786)
     add fe2ed7bb8e7 fix(dashboard): make screenshot completion truthful 
(#44144)
     add cf39d22f382 fix(mcp): honor extra_form_data time_grain_sqla on Generic 
Chart Axes charts (#44435)
     add e4eb0591bdb fix(sql lab): keep the real Flask session on synchronous 
runs (#44428)
     add 75447bc068f fix(pandas_postprocessing): pass string aggregator names 
to GroupBy.agg to silence FutureWarning (#43259)
     add aaa9390a24a fix(semantic-layer): wrap raw pandas TypeError/DataError 
from post-processing as QueryObjectValidationError (#44502)
     add d0edf759c90 test(dashboard): migrate native filter 
cross-filter/dependency E2E to Playwright (#41458)
     add 2f4eb735187 fix(explore): keep edits to a dashboard-inherited filter 
when saving (#43947)
     add c355f0a21df fix(plugin-chart-table): re-measure sticky layout when the 
table gains a box (#44430)
     add ed9bb9169d8 fix(dashboard): stop wide table charts bleeding over 
neighbours in dashboard image export (#44414)
     add f7784b64f46 fix(ci): give the db2 testcontainer boot real wait 
headroom (#44399)
     add 7e6b25a90b3 fix(row-level-security): allow roles as RLS rule subjects 
(#43948)
     add 4a7b8b6279c fix(ui): preserve HTTP status in error messages (#44271)
     add 6cc5c0e00ba feat(db_engine_specs): add metadata block to 
OdpsEngineSpec (#43239)
     add 48dfbcc6527 fix(explore): keep an externally updated TextControl value 
visible (#43220)
     add afd8dac7c85 fix(sqllab): migrate tabs after database deletion (#43278)
     add b8cc2a769d4 fix(echarts): only reserve left grid padding when a Y-axis 
title exists (#43299)
     add 53484ac21c9 feat(charts): Clean up "shadow state" in conditional 
formatting dialog (#43692)
     add ba677f0c5ba feat(mcp): read Explore permalinks in get_chart_info 
(#44338)
     add cbd5bf85fe7 fix(dataset): render semantic datasource type as a badge 
(#44398)
     add 3756b7ae2c8 fix(i18n): guard messages.pot against source drift and 
regenerate it (#44467)
     add 3fd761d1740 fix(ui): preserve default modal resize handles when config 
is partial (#43806)
     add 5a2a90b38ab feat(mcp): bubble chart type plugin (#43572)
     add 889f9f1751e fix(reports): validate final capture artifacts before 
delivery (#44465)
     add 298d776ec56 fix(dashboard): include semantic views in the dashboard 
datasets payload so semantic charts render their errors (#44413)
     add 92482f07f30 fix(echarts): emit no cross-filter for clicks that are not 
categories (#43192)
     add cf10e894a19 fix(mcp): preserve omitted chart colors and row limits 
(#44188)
     add 0050b187d78 perf(deletion-retention): scope purge-audit repeat checks 
with legacy database fallback (#44262)
     add 649a665b482 fix(security): allow schema_access holders to explore SQL 
Lab queries from other authors (#43994)
     add d45bbdcdf2e fix(sql): use AST for disallowed function checks (#43641)
     add 5745162faf7 docs: point remaining Release Notes links at GitHub 
releases (#43803)
     add 600db8e5816 fix(matrixify): apply dimension filters to all 
query-specific adhoc filter collections (#43861)
     add 903a1e1ff3e docs(singlestore): require singlestoredb[sqlalchemy] and 
update logo (#44170)
     add c666a6400c4 fix(database): allow metadata edits on an unreachable 
database (#44000)
     add fd5efcbf5ba fix(superset-ui-core): add year to smart_date_verbose 
tooltip tiers (#44212)
     add 1b8800c84d1 fix(sqllab): restore SQL code folding (#44236)
     add 0382c19ad3b fix: show the server's error message in the publish toggle 
and user info toasts (#44238)
     add f47fcad3d6e fix(reports): replace stale Selenium references in 
screenshot messages (#44244)
     add 3e39ba13e34 fix(country-map): correct Karelia boundary (#44273)
     add 3cbee94525d docs: fix internal link guidance examples (#44275)
     add 468936a7e04 fix(sql): preserve literal percents in where_in (#44284)
     add b78585c9715 fix(databricks): select the SQLAlchemy 2 dialect (#44286)
     add 8039aa983d7 test(explore): await the Customize tab click in 
ControlPanelsContainer test (#44315)
     add 57108b416bf test(explore): await userEvent calls in 
useExploreAdditionalActionsMenu test (#44323)
     add 7eb9532c0ba fix(chart-controls): keep axis sort available for columns 
with unknown type (#44344)
     add 770bcfb2e95 fix(extensions-cli): fail build and bundle when the 
frontend build fails (#44407)
     add 86fb8db31d8 chore(version-history): use typed app dispatch (#44438)
     add 156549ffed3 fix(temporary-cache): forward tab_id on DELETE so 
contextual cache mappings are cleared (#44451)
     add 22d37f3ed0a chore(deps): bump fast-uri from 3.1.5 to 3.1.8 in 
/superset-frontend/cypress-base (#44510)
     add 4df9c0ad362 chore(deps): bump qs from 6.15.2 to 6.16.0 in 
/superset-frontend/cypress-base (#44511)
     add 1428f138d20 chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/docs (#44518)
     add 1c803d923f3 chore(deps-dev): bump oxfmt from 0.67.0 to 0.68.0 in 
/superset-websocket (#44516)
     add fc1c7798e9e chore(deps-dev): bump oxfmt from 0.67.0 to 0.68.0 in /docs 
(#44517)
     add a54e7353a2b chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/superset-websocket (#44515)
     add d43785a2c22 chore(deps): bump docker/setup-buildx-action from 4.3.0 to 
4.4.1 (#44519)
     add 4c229cb66a7 fix(dashboard): import getClientErrorObject; regenerate 
stale messages.pot (#44513)
     add 4afaf60a4fe feat(build): use latest patch version for Python base 
image (#44458)
     add c691d768d2f chore(deps-dev): bump oxfmt from 0.67.0 to 0.68.0 in 
/superset-frontend (#44521)
     add 21db4a5eeef chore(deps): bump @types/d3-selection from 3.0.11 to 
3.0.12 in /superset-frontend (#44524)
     add 47fd4f4cbfc fix(matrixify): lazy-load grid cells with dashboard 
virtualization (#43053)
     add 250a4797bf1 fix(plugin-chart-ag-grid-table): send export column 
filters as structured filters (#44308)
     add c6d0890f2e0 fix(api): restore three schema fields disabled by a stray 
trailing comma (#43225)
     add 61a5d0e3348 fix(csrf): recover from an expired CSRF token without a 
page reload (#43655)
     add d21aa9b4f46 chore(deps): bump yeoman-generator from 9.1.0 to 9.2.0 in 
/superset-frontend (#44522)
     add 2b5a929523d fix(chart-controls): type post-processing columns as a 
string-to-string mapping (#43589)
     add a3afedeaab4 fix(core): normalize bare date-only strings to UTC in 
normalizeTimestamp (#43807)
     add 107a61c4caf feat(databend): add a sqlglot dialect based on Postgres 
(#43964)
     add c163112f4e2 chore(deps): bump @googleapis/sheets from 17.0.0 to 18.0.0 
in /superset-frontend (#44523)
     add 5c1f617740c fix(echarts): apply the bar label legibility floor to 
manual label positions (#44469)
     add c4943a0ab34 feat(native-filters): add configurable display format for 
time filters (#44237)
     add cef83b3f8df fix(import): catch KeyError for missing uuid/ssh_tunnel in 
load_configs (#43305)
     add df6e0d08b35 fix(sqla): wrap TypeError from virtual dataset Jinja 
rendering as a validation error (#44312)
     add 1788486228c fix(datasets): soften render-time UndefinedError in 
get_virtual_table_metadata (#44316)
     add ee4b8ddff6e fix(ci): align superset-cache tag consumers with the 
Dockerfile PY_VER (#44534)
     add 43f0f8876ad chore(ci): make the DB migration conflict bot comment less 
emoji-heavy and more actionable (#44506)
     add 0fe0662b271 fix(i18n): regenerate messages.pot to match source (#44509)
     add 9f48d0eac9e fix(tests): await userEvent.click in CsrfErrorMessage 
compact-mode test (#44540)
     add 7024401aef2 fix(mcp): drop tiktoken, size-guard responses by exact 
byte length (#44508)
     add 9413294b2bd docs(pivot-table): document the "Show values as" 
percentage display option (#44127)
     add 48795f9a2d4 docs(explore): document show_download param for standalone 
chart embeds (#43906)
     add 7dd70eaf2d6 fix: tighten object-level and destination checks across 
four unrelated endpoints (#44036)
     add add97e5d190 fix(embedded): tighten guest-token scoping for 
annotations, result types, and channels (#43391)
     add ca7cdfcd0ff fix(pinot): require the SQLAlchemy 2 driver extra (#44287)
     add 0f229fda75f fix(security): exempt health blueprint from forced 
password changes (#44504)
     add 269b9f99fef fix(views): return 401 for NoAuthorizationError in 
handle_api_exception (SC-121647) (#44533)
     add 50bbcedf13b docs(mcp): document restore_chart and restore_dashboard 
tools (#44207)
     add ea1ffcf0adb fix: fixed inverseSelection (#40970)
     add 350dd0d60ec fix(security): delete deprecated permissions left over 
after upgrades (#44142)
     add 7a9fe06762b fix(mcp): stop data tool responses crashing on binary and 
NaT values (#44495)
     add 9612437a9c8 fix(extensions): preserve chat state across display modes 
(#44490)
     add 61fffbe0c08 chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/superset-frontend (#44525)
     add c14ac29f477 fix(mcp): complete Treemap round-trip and previews (#44152)
     add 3b4e5f5d0c6 chore(deps): bump markdown-to-jsx from 9.10.2 to 9.10.3 in 
/superset-frontend (#44570)
     add 7fe03a536b6 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-frontend (#44569)
     add 6403e16fe56 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in 
/superset-embedded-sdk (#44568)
     add d1f395914f1 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-embedded-sdk (#44567)
     add 6c9138a6b7c chore(deps-dev): bump baseline-browser-mapping from 
2.11.23 to 2.11.24 in /superset-frontend (#44566)
     add 4b180bddad7 chore(deps): bump baseline-browser-mapping from 2.11.23 to 
2.11.24 in /docs (#44565)
     add 4290d94d6c9 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in 
/superset-websocket (#44564)
     add 3e80a53e14f chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-websocket (#44563)
     add f8f293d2666 chore(deps): bump benchmark-action/github-action-benchmark 
from 1.22.1 to 1.22.2 (#44520)
     add 689ab4a77af fix(translations): regenerate messages.pot after the 
connection-move reword (#44574)
     add 02dbfd2ab5b fix(dashboard): don't register an active tab for childless 
TABS components (#44345)
     add 838376dbc28 fix(mongodb): treat the Mongo database as the SQL Lab 
schema so Data Preview returns rows (#44141)
     add 6323b37f50a fix(dashboard): prevent and repair self-nested layout 
components (#44303)
     add 7c7b3adf745 fix(export): keep the acting user in streaming CSV exports 
(#44425)
     add 250b83eb104 chore: merge master and reconcile audit pruning changes

No new revisions were added by this update.

Summary of changes:
 .devcontainer/Dockerfile                           |     2 +-
 .devcontainer/devcontainer-base.json               |     2 +-
 .github/labeler.yml                                |    12 +
 .github/workflows/asf-allowlist-check.yml          |     2 +-
 .github/workflows/bashlib.sh                       |     2 -
 .github/workflows/bump-python-package.yml          |     2 +-
 .github/workflows/check-db-migration-confict.yml   |    21 +-
 .github/workflows/docker.yml                       |   301 +-
 .github/workflows/frontend-bundle-size-nightly.yml |     2 +-
 .github/workflows/mirror-service-images.yml        |     2 +-
 .../workflows/scheduled-docker-image-refresh.yml   |   195 -
 .github/workflows/superset-extensions-cli.yml      |     2 +-
 .github/workflows/superset-frontend.yml            |     4 +-
 .../workflows/superset-python-integrationtest.yml  |     6 +-
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 .github/workflows/superset-python-unittest.yml     |     2 +-
 .github/workflows/superset-translations.yml        |    11 +
 .github/workflows/tag-release.yml                  |    22 +-
 Dockerfile                                         |     3 +-
 README.md                                          |     2 +-
 UPDATING.md                                        |   165 +-
 docker-compose.yml                                 |     2 +-
 docs/DOCS_CLAUDE.md                                |    17 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |    64 +-
 .../configuration/configuring-superset.mdx         |    11 +
 docs/admin_docs/configuration/mcp-server.mdx       |   287 +-
 docs/admin_docs/installation/docker-builds.mdx     |    66 +-
 docs/admin_docs/installation/docker-compose.mdx    |     2 +-
 docs/admin_docs/security/security.mdx              |    30 +-
 .../extensions/extension-points/chat.md            |     4 +
 docs/docs/faq.mdx                                  |    13 +
 docs/docs/using-superset/embedding.mdx             |    21 +
 docs/docs/using-superset/exploring-data.mdx        |    21 +
 docs/docs/using-superset/sql-templating.mdx        |     4 +-
 .../docs/using-superset/using-ai-with-superset.mdx |     2 +
 docs/docs/using-superset/version-history.mdx       |     6 +
 docs/package.json                                  |    12 +-
 docs/scripts/generate-database-docs.mjs            |     7 +-
 docs/src/data/databases.json                       |    15 +-
 docs/static/img/databases/singlestore.png          |   Bin 15978 -> 9806 bytes
 docs/static/resources/openapi.json                 |   110 +-
 .../version-6.0.0/intro.md                         |     2 +-
 .../version-6.1.0/index.mdx                        |     2 +-
 .../version-6.1.0/intro.md                         |     2 +-
 docs/yarn.lock                                     |   553 +-
 pyproject.toml                                     |    21 +-
 requirements/base.txt                              |     6 +-
 requirements/development.txt                       |    15 +-
 scripts/change_detector.py                         |     1 -
 scripts/docker-build-extra-flags.sh                |    49 +-
 scripts/docker-build-plan.sh                       |    50 +
 scripts/docker-publish-guard.sh                    |    53 +
 scripts/translations/check_pot_drift.py            |   157 +
 superset-embedded-sdk/package-lock.json            |   503 +-
 superset-embedded-sdk/package.json                 |    12 +-
 superset-extensions-cli/README.md                  |     5 +
 .../src/superset_extensions_cli/cli.py             |     3 +
 superset-extensions-cli/tests/test_cli_build.py    |   131 +-
 superset-frontend/cypress-base/package-lock.json   |    51 +-
 superset-frontend/package-lock.json                |   752 +-
 superset-frontend/package.json                     |    32 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../packages/superset-core/package.json            |     2 +-
 .../src/utils/isSortable.ts                        |    10 +
 .../components/RadioButtonControl.test.tsx         |     6 +-
 .../test/utils/isSortable.test.ts                  |     9 +
 .../packages/superset-ui-core/package.json         |     2 +-
 .../Matrixify/MatrixifyGridCell.test.tsx           |   273 +-
 .../components/Matrixify/MatrixifyGridCell.tsx     |   127 +-
 .../Matrixify/MatrixifyGridGenerator.test.ts       |    90 +
 .../components/Matrixify/MatrixifyGridGenerator.ts |    37 +-
 .../components/Matrixify/virtualizationEvents.ts   |    82 +
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |    33 +
 .../src/components/AsyncAceEditor/index.tsx        |     4 +-
 .../superset-ui-core/src/components/Form/Form.tsx  |     1 +
 .../Label/reusable/DatasetTypeLabel.test.tsx       |    48 +-
 .../components/Label/reusable/DatasetTypeLabel.tsx |    11 +-
 .../src/components/Modal/Modal.test.tsx            |    93 +-
 .../src/components/Modal/Modal.tsx                 |    33 +-
 .../src/connection/SupersetClientClass.ts          |    83 +-
 .../superset-ui-core/src/connection/constants.ts   |     3 +
 .../superset-ui-core/src/query/api/v1/types.ts     |     3 +
 .../src/query/getClientErrorObject.ts              |    33 +-
 .../src/query/types/PostProcessing.ts              |     6 +-
 .../superset-ui-core/src/query/types/Query.ts      |     1 +
 .../src/time-comparison/fetchTimeRange.ts          |    29 +-
 .../src/time-format/formatters/smartDateVerbose.ts |    10 +-
 .../src/time-format/utils/normalizeTimestamp.ts    |    13 +
 .../src/time-format/utils/stringifyTimeInput.ts    |    21 +-
 .../superset-ui-core/src/ui-overrides/types.ts     |     1 +
 .../connection/SupersetClientCsrfRecovery.test.ts  |   191 +
 .../test/query/getClientErrorObject.test.ts        |    46 +-
 .../test/query/types/PostProcessing.test.ts        |     6 +-
 .../test/time-comparison/fetchTimeRange.test.ts    |    60 +
 .../formatters/smartDateVerbose.test.ts            |    57 +-
 .../time-format/utils/normalizeTimestamp.test.ts   |     5 +
 .../time-format/utils/stringifyTimeInput.test.ts   |    28 +
 .../superset-ui-core/types/ace-builds.d.ts         |     1 +
 .../playwright/components/core/Select.ts           |    14 +
 .../components/dashboard/DashboardFilterBar.ts     |    30 +-
 .../tests/dashboard/dashboard-test-helpers.ts      |    24 +-
 .../tests/dashboard/native-filters.spec.ts         |   438 +
 .../dashboard/version-history-placement.spec.ts    |   198 +
 .../recently-archived/recently-archived.spec.ts    |     5 +
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   125 +-
 .../plugin-chart-ag-grid-table/src/index.ts        |     1 -
 .../src/stateConversion.ts                         |   302 +-
 .../src/utils/agGridFilterConverter.ts             |    73 +-
 .../test/buildQuery.test.ts                        |   206 +-
 .../test/stateConversion.test.ts                   |    77 +-
 .../test/utils/agGridFilterConverter.test.ts       |    55 +-
 .../test/utils/filterStateManager.test.ts          |     2 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   Bin 226846 -> 227629 
bytes
 .../src/countries/russia.geojson                   |   Bin 747442 -> 678517 
bytes
 .../test/russia.geojson.test.ts                    |    87 +
 .../plugins/plugin-chart-echarts/package.json      |     2 +-
 .../src/Gantt/transformProps.ts                    |     7 +-
 .../src/Timeseries/transformers.ts                 |    44 +-
 .../src/utils/eventHandlers.ts                     |    26 +-
 .../test/MixedTimeseries/buildQuery.test.ts        |    33 +
 .../test/MixedTimeseries/transformProps.test.ts    |     4 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |     6 +-
 .../test/Timeseries/transformers.test.ts           |   160 +-
 .../test/utils/eventHandlers.test.ts               |    56 +
 .../plugins/plugin-chart-pivot-table/package.json  |     2 +-
 .../src/react-pivottable/TableRenderers.tsx        |    15 +-
 .../test/react-pivottable/tableRenders.test.tsx    |    21 +
 .../src/DataTable/hooks/useSticky.tsx              |    30 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     6 +
 .../test/DataTable/hooks/useSticky.test.tsx        |    88 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |   109 +-
 .../test/ColorSchemeControl.test.tsx               |     4 +-
 superset-frontend/spec/helpers/testing-library.tsx |     1 +
 .../src/SqlLab/actions/sqlLab.test.ts              |   118 +
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |   108 +-
 .../QueryLimitSelect/QueryLimitSelect.test.tsx     |     8 +-
 .../SaveDatasetActionButton.test.tsx               |     2 +-
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx     |     6 +-
 .../SqlLab/components/SouthPane/SouthPane.test.tsx |     2 +-
 .../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx     |     2 +-
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |     2 +-
 .../DynamicGroupBy/DynamicGroupByPlugin.test.tsx   |     2 +-
 .../src/components/Chart/Chart.test.tsx            |    55 +
 superset-frontend/src/components/Chart/Chart.tsx   |     5 +-
 .../ChartContextMenu/ChartContextMenu.test.tsx     |   100 +-
 .../Chart/DrillBy/useResultsTableView.test.ts      |     2 +-
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |    31 +
 .../useDrillDetailMenuItems.test.tsx               |    12 +-
 .../CopyToClipboard/CopyToClipboard.test.tsx       |    10 +-
 .../DatabaseSelector/DatabaseSelector.test.tsx     |     4 +-
 .../tests/DatasourceEditorCurrency.test.tsx        |     4 +-
 ...rMessage.test.tsx => CsrfErrorMessage.test.tsx} |    42 +-
 ...etworkErrorMessage.tsx => CsrfErrorMessage.tsx} |    16 +-
 .../src/components/ErrorMessage/index.tsx          |     1 +
 .../src/components/MessageToasts/Toast.test.tsx    |    34 +-
 .../src/components/MessageToasts/Toast.tsx         |    16 +-
 .../src/components/MessageToasts/actions.ts        |     2 +
 .../src/components/MessageToasts/types.ts          |     3 +
 .../RowCountLabel/RowCountLabel.test.tsx           |     4 +-
 superset-frontend/src/components/Tag/utils.tsx     |    16 +-
 superset-frontend/src/core/chat/ChatHost.tsx       |    20 +-
 .../src/dashboard/actions/dashboardState.test.ts   |    71 +-
 .../src/dashboard/actions/dashboardState.ts        |    21 +-
 .../src/dashboard/actions/hydrate.test.ts          |    85 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |    28 +-
 .../components/AddSliceCard/AddSliceCard.test.tsx  |     2 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |   143 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |   154 +-
 .../PropertiesModal.lateFieldMount.test.tsx        |    94 +
 .../PropertiesModal/PropertiesModal.test.tsx       |    26 +
 .../dashboard/components/PropertiesModal/index.tsx |    16 +-
 .../URLShortLinkButton/URLShortLinkButton.test.tsx |     8 +-
 .../ChartHolder/ChartHolder.test.tsx               |     4 +-
 .../gridComponents/Markdown/Markdown.test.tsx      |    20 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |    95 +
 .../components/gridComponents/Tabs/Tabs.tsx        |    22 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |     2 +-
 .../FilterControls/FilterControlShared.test.tsx    |     2 +-
 .../FilterControls/FilterDivider.test.tsx          |     2 +-
 .../FilterControls/GroupByFilterCard.test.tsx      |   330 +-
 .../FilterBar/FilterControls/GroupByFilterCard.tsx |   192 +-
 .../components/nativeFilters/FilterBar/index.tsx   |    16 +-
 .../nativeFilters/FilterBar/utils.test.ts          |    38 +
 .../components/nativeFilters/FilterBar/utils.ts    |    15 +
 .../FiltersConfigForm/ColumnSelect.test.tsx        |     4 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |    38 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |    16 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    95 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |    14 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |     3 +-
 .../FiltersConfigForm/utils.test.ts                |    78 +
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |    52 +-
 .../useDisplayControlDatasource.test.ts            |   192 +
 .../nativeFilters/useDisplayControlDatasource.ts   |   181 +
 .../components/nativeFilters/utils.test.ts         |    13 +
 .../src/dashboard/containers/DashboardPage.tsx     |     2 +
 .../dashboard/hooks/useDownloadScreenshot.test.ts  |   118 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |    67 +-
 .../src/dashboard/reducers/dashboardLayout.test.ts |    62 +
 .../src/dashboard/reducers/dashboardLayout.ts      |    26 +
 .../src/dashboard/reducers/dashboardState.test.ts  |    23 +
 .../src/dashboard/useDashboardFilterSync.test.tsx  |   272 +
 .../src/dashboard/useDashboardFilterSync.ts        |   118 +
 .../src/dashboard/util/getDropPosition.test.ts     |    83 +
 .../src/dashboard/util/getDropPosition.ts          |    13 +
 .../util/removeUnreachableComponents.test.ts       |   283 +
 .../dashboard/util/removeUnreachableComponents.ts  |   225 +
 .../util/updateComponentParentsList.test.ts        |    17 +
 .../dashboard/util/updateComponentParentsList.ts   |     7 +-
 superset-frontend/src/dataMask/reducer.test.ts     |    98 +
 superset-frontend/src/dataMask/reducer.ts          |    15 +
 .../components/ControlPanelsContainer.test.tsx     |     2 +-
 .../CopyToClipboardButton.test.tsx                 |     4 +-
 .../DataTablesPane/test/DataTableControls.test.tsx |     6 +-
 .../DataTablesPane/test/DataTablesPane.test.tsx    |    18 +-
 .../DataTablesPane/test/useResultsPane.test.tsx    |     4 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |     8 +
 .../ExploreViewContainer.test.tsx                  |     8 +-
 .../AnnotationLayer.subdirectory.test.tsx          |     2 +-
 .../ColorBreakpointPopoverTrigger.tsx              |     7 +-
 .../ColorSchemeControl/ColorSchemeControl.test.tsx |    24 +-
 .../FormattingPopoverContent.test.tsx              |   129 +-
 .../FormattingPopoverContent.tsx                   |   176 +-
 .../ContourControl/ContourPopoverTrigger.tsx       |     7 +-
 .../ControlPopover/PopoverTriggerAnchors.test.tsx  |    53 +
 .../controls/DateFilterControl/DateFilterLabel.tsx |   116 +-
 .../tests/DateFilterLabel.test.tsx                 |   114 +
 .../components/controls/DateFilterControl/types.ts |     1 +
 .../ColumnSelectPopoverTrigger.tsx                 |    10 +-
 .../DndColumnSelect.test.tsx                       |    37 +
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |    41 +
 .../index.tsx                                      |     6 +
 .../AdhocFilterPopoverTrigger/index.tsx            |    10 +-
 .../MetricControl/AdhocMetricPopoverTrigger.tsx    |    10 +-
 .../MetricControl/MetricDefinitionOption.test.tsx  |     2 +-
 .../controls/TextControl/TextControl.test.tsx      |    15 +
 .../components/controls/TextControl/index.tsx      |    16 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |    10 +-
 .../useExploreAdditionalActionsMenu.test.tsx       |    24 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |    57 +-
 .../src/features/alerts/AlertReportModal.tsx       |     6 +-
 .../alerts/components/AlertStatusIcon.test.tsx     |     6 +-
 .../datasets/AddDataset/Footer/Footer.test.tsx     |    10 +-
 .../src/features/home/ChartTable.test.tsx          |     6 +-
 .../src/features/home/LanguagePicker.test.tsx      |     2 +-
 superset-frontend/src/features/home/Menu.test.tsx  |    18 +-
 .../src/features/home/RightMenu.test.tsx           |    12 +-
 .../src/features/userInfo/UserInfoModal.test.tsx   |   102 +
 .../src/features/userInfo/UserInfoModal.tsx        |    11 +-
 .../versionHistory/ChartVersionPreview.tsx         |     5 +-
 .../versionHistory/DashboardVersionHistory.tsx     |     5 +-
 .../versionHistory/ExploreVersionHistory.tsx       |     5 +-
 .../src/features/versionHistory/PreviewBanner.tsx  |     5 +-
 .../versionHistory/RelatedUpdateRow.test.tsx       |    12 +-
 .../features/versionHistory/SaveGroupItem.test.tsx |    91 +-
 .../src/features/versionHistory/SaveGroupItem.tsx  |    26 +
 .../src/features/versionHistory/display.test.ts    |    27 +
 .../src/features/versionHistory/display.ts         |    18 +
 .../src/features/versionHistory/grouping.test.ts   |    36 +
 .../src/features/versionHistory/grouping.ts        |     7 +
 .../src/features/versionHistory/types.ts           |    14 +
 .../versionHistory/useDashboardVersionPreview.ts   |     5 +-
 .../versionHistory/useVersionActions.test.tsx      |     6 +-
 .../features/versionHistory/useVersionActions.tsx  |     5 +-
 .../components/Select/SelectFilterPlugin.tsx       |    22 +-
 .../components/Time/TimeFilterPlugin.test.tsx      |    95 +
 .../filters/components/Time/TimeFilterPlugin.tsx   |     1 +
 .../src/filters/components/Time/controlPanel.ts    |    17 +
 .../src/filters/components/Time/types.ts           |     1 +
 superset-frontend/src/filters/utils.ts             |     9 +-
 .../src/hooks/apiResources/datasets.test.ts        |    84 +
 .../src/hooks/apiResources/datasets.ts             |    66 +-
 .../DatabaseList.semanticLayerDelete.test.tsx      |   139 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |   166 +-
 .../DatasetList.connectionPermissions.test.tsx     |    70 +
 .../src/pages/DatasetList/DatasetList.test.tsx     |    52 +
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |     1 +
 superset-frontend/src/pages/DatasetList/index.tsx  |    18 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |     2 +-
 superset-frontend/src/setup/setupErrorMessages.ts  |     5 +
 superset-frontend/src/utils/common.ts              |     3 +
 .../src/utils/downloadAsImage.test.ts              |    79 +-
 superset-frontend/src/utils/downloadAsImage.tsx    |    40 +-
 .../src/utils/semanticViewStructure.test.ts        |    85 +
 .../src/utils/semanticViewStructure.ts             |   129 +
 superset-frontend/src/views/App.test.tsx           |   125 +
 superset-frontend/src/views/App.tsx                |    28 +-
 superset-websocket/package-lock.json               |   532 +-
 superset-websocket/package.json                    |    10 +-
 .../utils/client-ws-app/package-lock.json          |    14 +-
 .../utils/client-ws-app/package.json               |     2 +-
 superset/charts/api.py                             |    54 +-
 superset/charts/data/dashboard_filter_context.py   |     6 +-
 superset/charts/filters.py                         |    61 +-
 superset/charts/schemas.py                         |    61 +-
 superset/commands/chart/create.py                  |    18 +-
 superset/commands/chart/importers/v1/utils.py      |    12 +-
 superset/commands/chart/update.py                  |    49 +-
 superset/commands/chart/utils.py                   |    12 +
 superset/commands/dashboard/create.py              |    16 +
 superset/commands/dashboard/exceptions.py          |    26 +-
 superset/commands/dashboard/update.py              |    20 +-
 superset/commands/database/exceptions.py           |    19 +-
 superset/commands/database/update.py               |    80 +-
 superset/commands/database/utils.py                |    47 +
 superset/commands/dataset/update.py                |     8 +
 .../commands/deletion_retention/prune_audit.py     |    17 +-
 superset/commands/importers/v1/utils.py            |    19 +
 superset/commands/report/execute.py                |   478 +-
 superset/commands/report/execution_claim.py        |   199 +
 superset/commands/report/update.py                 |     6 -
 superset/commands/semantic_layer/create.py         |     3 +-
 superset/commands/semantic_layer/update.py         |   108 +-
 superset/commands/semantic_layer/utils.py          |    56 +
 superset/commands/soft_delete_collisions.py        |   165 +
 superset/commands/streaming_export/base.py         |    41 +-
 superset/commands/version_restore.py               |    17 +-
 superset/common/utils/time_grain_utils.py          |    41 +
 superset/config.py                                 |    23 +-
 superset/connectors/sqla/models.py                 |    71 +-
 superset/connectors/sqla/utils.py                  |    10 +
 superset/constants.py                              |     4 +
 superset/core/mcp/core_mcp_injection.py            |     5 +-
 superset/daos/dashboard.py                         |     5 +
 superset/daos/version.py                           |     4 +
 superset/dashboards/api.py                         |   399 +-
 superset/dashboards/filter_state/api.py            |     4 +
 superset/dashboards/filters.py                     |    46 +-
 superset/dashboards/layout.py                      |   269 +
 superset/dashboards/schemas.py                     |    13 +
 superset/datasets/api.py                           |   163 +-
 superset/datasource/api.py                         |     4 +-
 superset/db_engine_specs/README.md                 |     6 +-
 superset/db_engine_specs/base.py                   |    91 +-
 superset/db_engine_specs/databricks.py             |   404 +-
 superset/db_engine_specs/gsheets.py                |     2 +
 superset/db_engine_specs/lib.py                    |    22 +-
 superset/db_engine_specs/mongodb.py                |    63 +-
 superset/db_engine_specs/odps.py                   |    34 +-
 superset/db_engine_specs/pinot.py                  |     4 +
 superset/db_engine_specs/presto.py                 |     4 +
 superset/db_engine_specs/shillelagh.py             |    39 +
 superset/db_engine_specs/singlestore.py            |     4 +-
 superset/db_engine_specs/snowflake.py              |     1 +
 superset/embedded/view.py                          |     8 +-
 superset/errors.py                                 |     1 +
 superset/exceptions.py                             |    21 +-
 superset/explore/form_data/api.py                  |     7 +-
 superset/explore/utils.py                          |    15 +
 superset/extensions/metastore_cache.py             |    77 +-
 superset/jinja_context.py                          |     5 +
 superset/mcp_service/README.md                     |     6 +-
 superset/mcp_service/SECURITY.md                   |     2 +-
 superset/mcp_service/__main__.py                   |     4 +-
 superset/mcp_service/app.py                        |    24 +-
 superset/mcp_service/auth.py                       |    15 +-
 superset/mcp_service/chart/chart_helpers.py        |    64 +-
 superset/mcp_service/chart/chart_utils.py          |   185 +-
 superset/mcp_service/chart/compile.py              |    21 +-
 superset/mcp_service/chart/plugins/__init__.py     |     3 +
 superset/mcp_service/chart/plugins/big_number.py   |     2 +-
 superset/mcp_service/chart/plugins/box_plot.py     |     2 +-
 superset/mcp_service/chart/plugins/bubble.py       |   149 +
 superset/mcp_service/chart/plugins/handlebars.py   |     2 +-
 superset/mcp_service/chart/plugins/histogram.py    |     2 +-
 .../mcp_service/chart/plugins/interactive_pivot.py |     2 +-
 .../mcp_service/chart/plugins/mixed_timeseries.py  |     2 +-
 superset/mcp_service/chart/plugins/pie.py          |     2 +-
 superset/mcp_service/chart/plugins/pivot_table.py  |     2 +-
 superset/mcp_service/chart/plugins/table.py        |     2 +-
 superset/mcp_service/chart/plugins/treemap.py      |    12 +-
 superset/mcp_service/chart/plugins/waterfall.py    |     2 +-
 superset/mcp_service/chart/plugins/xy.py           |     2 +-
 superset/mcp_service/chart/preview_utils.py        |    76 +-
 superset/mcp_service/chart/query_result.py         |   113 +-
 superset/mcp_service/chart/schemas.py              |   534 +-
 superset/mcp_service/chart/tool/generate_chart.py  |     9 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    43 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |   315 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |    43 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |    51 +-
 .../chart/tool/get_chart_type_schema.py            |    40 +-
 superset/mcp_service/chart/tool/update_chart.py    |    30 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    51 +-
 superset/mcp_service/chart/treemap_preview.py      |   297 +
 superset/mcp_service/common/schema_discovery.py    |     7 +-
 .../mcp_service/common/time_range_validation.py    |    32 +-
 superset/mcp_service/constants.py                  |     2 +-
 .../mcp_service/dashboard/layout_validation.py     |    54 +
 superset/mcp_service/dashboard/permalink.py        |    96 +-
 superset/mcp_service/dashboard/schemas.py          |   431 +-
 superset/mcp_service/dashboard/tool/__init__.py    |     2 +
 .../tool/add_chart_to_existing_dashboard.py        |    33 +-
 .../dashboard/tool/apply_dashboard_filters.py      |   485 +
 .../dashboard/tool/duplicate_dashboard.py          |     6 +
 .../dashboard/tool/generate_dashboard.py           |    22 +-
 .../dashboard/tool/get_dashboard_datasets.py       |    21 +-
 .../dashboard/tool/get_dashboard_info.py           |    15 +-
 .../dashboard/tool/manage_native_filters.py        |     4 +-
 .../dashboard/tool/remove_chart_from_dashboard.py  |    13 +-
 .../mcp_service/dashboard/tool/update_dashboard.py |    14 +-
 superset/mcp_service/dataset/schemas.py            |    40 +-
 superset/mcp_service/dataset/tool/list_datasets.py |    55 +-
 superset/mcp_service/dataset/tool/query_dataset.py |    11 +
 .../dataset/tool/update_dataset_metric.py          |     5 +
 superset/mcp_service/dataset_scope.py              |   261 +
 superset/mcp_service/explore/schemas.py            |     5 +-
 .../explore/tool/generate_explore_link.py          |     3 +-
 superset/mcp_service/flask_singleton.py            |    11 +
 superset/mcp_service/mcp_config.py                 |    30 +-
 superset/mcp_service/middleware.py                 |   559 +-
 superset/mcp_service/semantic_layer/schemas.py     |    83 +-
 .../mcp_service/semantic_layer/tool/get_table.py   |   179 +-
 .../semantic_layer/tool/list_metrics.py            |     9 +-
 superset/mcp_service/sql_lab/schemas.py            |    18 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    19 -
 .../{token_utils.py => response_size_utils.py}     |   593 +-
 superset/mcp_service/utils/response_utils.py       |    17 +-
 superset/mcp_service/utils/serialization.py        |   225 +
 superset/migrations/shared/migrate_viz/base.py     |     7 +
 .../migrations/shared/migrate_viz/processors.py    |     6 +
 superset/migrations/shared/security_converge.py    |    34 +
 ...4fb8bfc1_delete_deprecated_permissions_33272.py |   153 +
 ...a4572f8a_rename_deprecated_permissions_33272.py |   193 +
 ..._93d1b4a76c02_add_report_execution_ownership.py |    55 +
 ...e6_merge_deprecated_permissions_with_master.py} |    12 +-
 ...merge_deprecated_permissions_with_master_v2.py} |    12 +-
 ...merge_deprecated_permissions_with_master_v3.py} |    12 +-
 superset/models/core.py                            |     1 +
 superset/models/dashboard.py                       |    90 +-
 superset/models/helpers.py                         |   240 +-
 superset/models/slice.py                           |    24 +-
 superset/models/sql_lab.py                         |    11 +-
 .../mcp => superset/realtime}/__init__.py          |     1 +
 superset/realtime/publish.py                       |    68 +
 superset/reports/models.py                         |     2 +
 superset/reports/notifications/base.py             |     1 +
 superset/reports/notifications/email.py            |    16 +-
 superset/reports/notifications/slack_mixin.py      |     6 +-
 superset/reports/notifications/webhook.py          |     9 +-
 superset/reports/schemas.py                        |     7 -
 superset/security/api.py                           |    13 +-
 superset/security/manager.py                       |   485 +-
 superset/security/password_change.py               |    11 +-
 superset/security/session_invalidation.py          |    16 +-
 superset/semantic_layers/api.py                    |    81 +-
 superset/semantic_layers/mapper.py                 |    31 +-
 superset/semantic_layers/masking.py                |   481 +
 superset/semantic_layers/models.py                 |     7 +-
 superset/sql/dialects/__init__.py                  |     2 +
 superset/sql/dialects/databend.py                  |   604 +
 superset/sql/execution/executor.py                 |     4 +-
 superset/sql/parse.py                              |    58 +-
 superset/sql_lab.py                                |    11 +-
 superset/sql_validators/__init__.py                |     3 +-
 superset/sql_validators/postgres.py                |    59 -
 superset/sqllab/query_render.py                    |     9 +-
 superset/tasks/manager.py                          |    19 +-
 superset/tasks/scheduler.py                        |    13 +
 superset/tasks/thumbnails.py                       |    66 +-
 superset/temporary_cache/api.py                    |     3 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |  2204 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |  2114 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |  2129 +-
 superset/translations/de/LC_MESSAGES/messages.po   |  2111 +-
 superset/translations/en/LC_MESSAGES/messages.po   |  2042 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  2119 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  2109 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |  2388 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  2907 +-
 superset/translations/it/LC_MESSAGES/messages.po   | 50773 ++++++++++---------
 superset/translations/ja/LC_MESSAGES/messages.po   |  2066 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |  2391 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |  2120 +-
 superset/translations/messages.pot                 |  2034 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |  2114 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |  2132 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |  2145 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |  2286 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  2122 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |  2136 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |  2110 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |  2129 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |  3250 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |  2223 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |  2225 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |  5342 +-
 superset/translations/th/LC_MESSAGES/messages.po   |  2366 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |  2087 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |  2148 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |  2246 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  2111 +-
 superset/utils/core.py                             |     4 +-
 superset/utils/date_parser.py                      |    42 +-
 superset/utils/error_sanitization.py               |     1 +
 superset/utils/filters.py                          |    98 +-
 superset/utils/network.py                          |   115 +
 superset/utils/pandas_postprocessing/utils.py      |    15 +-
 superset/utils/report_execution.py                 |   108 +
 superset/utils/screenshot_utils.py                 |   383 +-
 superset/utils/screenshots.py                      |   418 +-
 superset/utils/webdriver.py                        |   323 +-
 superset/versioning/activity/creation.py           |   173 +
 superset/versioning/activity/orchestrator.py       |    32 +
 superset/versioning/activity/queries.py            |    22 +-
 superset/versioning/api_helpers.py                 |    40 +-
 superset/versioning/baseline/__init__.py           |     2 +
 superset/versioning/baseline/insertion.py          |    10 +
 superset/versioning/baseline/shadow.py             |     5 +
 superset/versioning/changes/__init__.py            |     4 +
 superset/versioning/changes/listener.py            |   233 +-
 superset/versioning/changes/shadow_queries.py      |    11 +-
 .../__init__.py => versioning/creation_kinds.py}   |    21 +-
 superset/versioning/db_errors.py                   |    75 +
 superset/versioning/metrics.py                     |    37 +-
 superset/versioning/queries.py                     |   194 +-
 superset/versioning/restore.py                     |   223 +-
 superset/versioning/schemas.py                     |    19 +
 superset/views/base_api.py                         |    83 +-
 superset/views/core.py                             |    16 +-
 superset/views/error_handling.py                   |    18 +-
 superset/views/filters.py                          |    74 +-
 superset/views/utils.py                            |    12 +
 .../charts/semantic_save_tests.py                  |   140 +
 .../charts/version_restore_tests.py                |     3 +
 tests/integration_tests/dashboards/api_tests.py    |  1572 +-
 tests/integration_tests/databases/api_tests.py     |   100 +-
 tests/integration_tests/datasets/api_tests.py      |    53 +
 tests/integration_tests/embedded/test_view.py      |    23 +
 .../extensions/metastore_cache_test.py             |    80 +
 .../commands/execute_dashboard_report_tests.py     |     9 +-
 tests/integration_tests/reports/commands_tests.py  |   107 +-
 .../reports/execution_claim_tests.py               |    32 +
 tests/integration_tests/security/api_tests.py      |    28 +
 tests/integration_tests/sql_validator_tests.py     |    36 -
 tests/integration_tests/sqllab_tests.py            |    13 +-
 .../versioning/activity_write_after_read_tests.py  |   131 +
 .../versioning/conditional_token_lock_tests.py     |   363 +
 .../versioning/creation_row_tests.py               |   307 +
 .../versioning/restore_fails_closed_tests.py       |   621 +
 tests/testcontainers/db_engine_specs/test_db2.py   |    16 +-
 .../charts/commands/importers/v1/utils_test.py     |    69 +
 .../charts/semantic_view_chart_filter_test.py      |   481 +
 tests/unit_tests/charts/test_chart_data_api.py     |    62 +-
 tests/unit_tests/charts/test_schemas.py            |    92 +-
 tests/unit_tests/commands/chart/create_test.py     |    54 +-
 .../chart/streaming_export_command_test.py         |    61 +
 tests/unit_tests/commands/chart/update_test.py     |   117 +-
 .../commands/dashboard/slug_collision_test.py      |   246 +
 tests/unit_tests/commands/dashboard/update_test.py |    46 +
 tests/unit_tests/commands/databases/update_test.py |   209 +-
 tests/unit_tests/commands/databases/utils_test.py  |    58 +
 .../commands/databases/validate_sql_test.py        |    49 +-
 tests/unit_tests/commands/dataset/update_test.py   |    45 +
 .../deletion_retention/test_prune_audit.py         |   142 +-
 .../unit_tests/commands/importers/v1/utils_test.py |    96 +-
 tests/unit_tests/commands/report/execute_test.py   |  1100 +-
 .../commands/report/execution_claim_test.py        |   412 +
 .../report/execution_ownership_migration_test.py   |    87 +
 tests/unit_tests/commands/report/update_test.py    |    10 +-
 .../commands/semantic_layer/create_test.py         |    17 +-
 .../commands/semantic_layer/update_test.py         |   160 +-
 .../commands/test_base_restore_version_command.py  |    84 +
 tests/unit_tests/common/test_tabular_query.py      |    74 +
 tests/unit_tests/common/test_time_shifts.py        |   318 +-
 tests/unit_tests/connectors/sqla/models_test.py    |   231 +
 tests/unit_tests/connectors/sqla/utils_test.py     |    27 +-
 tests/unit_tests/dao/dashboard_test.py             |   139 +
 tests/unit_tests/dashboards/datasets_test.py       |   353 +
 .../unit_tests/dashboards/filter_state_api_test.py |    56 +
 tests/unit_tests/dashboards/layout_test.py         |   325 +
 .../dashboards/semantic_view_access_test.py        |   264 +-
 tests/unit_tests/databases/api_test.py             |    77 +
 tests/unit_tests/databases/commands/delete_test.py |    21 +-
 tests/unit_tests/datasets/api_tests.py             |   216 +-
 tests/unit_tests/db_engine_specs/test_base.py      |   243 +-
 .../unit_tests/db_engine_specs/test_databricks.py  |    97 +-
 .../db_engine_specs/test_databricks_multi_cloud.py |     4 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |    31 +-
 tests/unit_tests/db_engine_specs/test_lib.py       |    84 +
 tests/unit_tests/db_engine_specs/test_mongodb.py   |   205 +-
 tests/unit_tests/db_engine_specs/test_odps.py      |    19 +
 tests/unit_tests/db_engine_specs/test_pinot.py     |    41 +-
 tests/unit_tests/db_engine_specs/test_presto.py    |    14 +-
 .../unit_tests/db_engine_specs/test_shillelagh.py  |   100 +
 tests/unit_tests/db_engine_specs/test_snowflake.py |     7 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |     7 +-
 tests/unit_tests/explore/form_data_api_test.py     |    80 +
 tests/unit_tests/explore/utils_test.py             |    65 +
 tests/unit_tests/jinja_context_test.py             |   120 +
 .../mcp_service/chart/test_bubble_chart.py         |   471 +
 .../mcp_service/chart/test_chart_utils.py          |    73 +
 .../chart/test_time_grain_generic_axes.py          |   365 +
 .../mcp_service/chart/test_treemap_completeness.py |  1373 +
 .../mcp_service/chart/tool/test_generate_chart.py  |    41 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |   266 +-
 .../chart/tool/test_get_chart_info_permalink.py    |   454 +
 .../chart/tool/test_get_chart_preview.py           |   117 +
 .../mcp_service/chart/tool/test_get_chart_sql.py   |   165 +
 .../chart/tool/test_get_chart_type_schema.py       |    26 +
 .../validation/test_column_name_normalization.py   |    60 +
 .../common/test_time_range_validation.py           |    41 +-
 .../dashboard/test_dashboard_schemas.py            |   225 +
 .../dashboard/test_layout_validation.py            |   174 +
 .../mcp_service/dashboard/test_permalink.py        |   123 +-
 .../tool/test_add_chart_to_existing_dashboard.py   |    98 +
 .../dashboard/tool/test_apply_dashboard_filters.py |  1174 +
 .../dashboard/tool/test_dashboard_generation.py    |   241 +-
 .../dashboard/tool/test_dashboard_tools.py         |   102 +-
 .../dashboard/tool/test_duplicate_dashboard.py     |    55 +
 .../dashboard/tool/test_get_dashboard_datasets.py  |   331 +-
 .../tool/test_remove_chart_from_dashboard.py       |    44 +
 .../dashboard/tool/test_update_dashboard.py        |    70 +
 .../mcp_service/dataset/tool/test_dataset_tools.py |   256 +
 .../mcp_service/dataset/tool/test_query_dataset.py |    99 +
 .../dataset/tool/test_update_dataset_metric.py     |    39 +
 .../explore/tool/test_generate_explore_link.py     |    49 +
 .../semantic_layer/tool/test_get_table.py          |   817 +-
 .../semantic_layer/tool/test_list_metrics.py       |   235 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |   104 +-
 tests/unit_tests/mcp_service/test_dataset_scope.py |   504 +
 .../mcp_service/test_mcp_tool_registration.py      |    84 +
 tests/unit_tests/mcp_service/test_middleware.py    |   771 +-
 .../mcp_service/test_response_serialization.py     |   321 +
 ..._token_utils.py => test_response_size_utils.py} |   568 +-
 .../mcp_service/utils/test_response_utils.py       |    24 +
 .../mcp_service/utils/test_serialization.py        |   294 +
 .../migrations/shared/security_converge_test.py    |   218 +
 .../test_deprecated_permissions_33272.py           |   420 +
 tests/unit_tests/models/helpers_test.py            |    49 +-
 tests/unit_tests/models/slice_test.py              |    80 +-
 tests/unit_tests/models/sql_lab_test.py            |    62 +-
 .../pandas_postprocessing/test_aggregate.py        |    21 +
 .../reports/notifications/email_tests.py           |    38 +-
 .../reports/notifications/slack_tests.py           |    18 +
 .../reports/notifications/webhook_tests.py         |    71 +-
 tests/unit_tests/reports/schemas_test.py           |    28 +
 .../scheduled_docker_image_refresh_test.py         |    65 -
 tests/unit_tests/scripts/docker_cache_ref_test.py  |    90 +
 .../scripts/translations/check_pot_drift_test.py   |   156 +
 tests/unit_tests/security/manager_test.py          |   508 +-
 .../security/test_guest_token_empty_filter.py      |   115 +
 tests/unit_tests/security/test_password_change.py  |    68 +-
 .../security/test_permission_instructions_link.py  |     2 +
 .../security/test_session_invalidation.py          |    18 +
 tests/unit_tests/semantic_layers/api_test.py       |   352 +-
 .../semantic_layers/connections_access_test.py     |   402 +
 .../fixtures/snowflake_configuration.json          |   172 +
 tests/unit_tests/semantic_layers/mapper_test.py    |   213 +-
 tests/unit_tests/semantic_layers/masking_test.py   |   870 +
 tests/unit_tests/semantic_layers/models_test.py    |    77 +
 .../semantic_layers/provider_masking_test.py       |   107 +
 .../unit_tests/soft_delete}/__init__.py            |     0
 .../soft_delete/test_restore_purge_hoist.py        |   268 +
 .../sql/dialects/databend_function_catalogue.txt   |   741 +
 tests/unit_tests/sql/dialects/databend_tests.py    |  1553 +
 tests/unit_tests/sql/execution/test_executor.py    |    58 +
 tests/unit_tests/sql/parse_tests.py                |    17 +
 tests/unit_tests/sql_lab_test.py                   |    72 +
 tests/unit_tests/subjects/test_filters.py          |    25 +
 tests/unit_tests/subjects/test_raise_for_access.py |    82 +
 .../subjects/test_report_executor_remediation.py   |   148 +
 .../tasks/test_scheduler_soft_timeout.py           |    17 +
 tests/unit_tests/tasks/test_thumbnails.py          |    75 +
 tests/unit_tests/test_realtime_publish.py          |   124 +
 tests/unit_tests/utils/date_parser_tests.py        |   107 +
 tests/unit_tests/utils/filters_test.py             |    43 +-
 tests/unit_tests/utils/screenshot_test.py          |   279 +
 tests/unit_tests/utils/test_network.py             |    81 +-
 tests/unit_tests/utils/test_report_execution.py    |    64 +
 .../unit_tests/utils/test_screenshot_cache_fix.py  |    79 +
 tests/unit_tests/utils/test_screenshot_utils.py    |   455 +-
 tests/unit_tests/utils/webdriver_test.py           |   450 +-
 tests/unit_tests/versioning/test_activity.py       |   208 +-
 tests/unit_tests/versioning/test_db_errors.py      |   205 +-
 tests/unit_tests/versioning/test_listener.py       |   565 +-
 tests/unit_tests/versioning/test_restore.py        |   245 +-
 .../unit_tests/versioning/test_retention_races.py  |     4 +
 .../versioning/test_version_info_locking.py        |   108 +
 tests/unit_tests/views/test_error_handling.py      |   136 +-
 tests/unit_tests/views/test_i18n_constants.py      |   640 +
 tests/unit_tests/views/test_utils.py               |    69 +-
 682 files changed, 136366 insertions(+), 45786 deletions(-)
 delete mode 100644 .github/workflows/scheduled-docker-image-refresh.yml
 create mode 100644 scripts/docker-build-plan.sh
 create mode 100644 scripts/docker-publish-guard.sh
 create mode 100644 scripts/translations/check_pot_drift.py
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/chart/components/Matrixify/virtualizationEvents.ts
 create mode 100644 
superset-frontend/packages/superset-ui-core/test/connection/SupersetClientCsrfRecovery.test.ts
 create mode 100644 
superset-frontend/playwright/tests/dashboard/native-filters.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/dashboard/version-history-placement.spec.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-country-map/test/russia.geojson.test.ts
 copy 
superset-frontend/src/components/ErrorMessage/{FrontendNetworkErrorMessage.test.tsx
 => CsrfErrorMessage.test.tsx} (59%)
 copy 
superset-frontend/src/components/ErrorMessage/{FrontendNetworkErrorMessage.tsx 
=> CsrfErrorMessage.tsx} (68%)
 create mode 100644 
superset-frontend/src/dashboard/components/PropertiesModal/PropertiesModal.lateFieldMount.test.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/useDisplayControlDatasource.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/useDisplayControlDatasource.ts
 create mode 100644 
superset-frontend/src/dashboard/useDashboardFilterSync.test.tsx
 create mode 100644 superset-frontend/src/dashboard/useDashboardFilterSync.ts
 create mode 100644 
superset-frontend/src/dashboard/util/removeUnreachableComponents.test.ts
 create mode 100644 
superset-frontend/src/dashboard/util/removeUnreachableComponents.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/ControlPopover/PopoverTriggerAnchors.test.tsx
 create mode 100644 
superset-frontend/src/features/userInfo/UserInfoModal.test.tsx
 create mode 100644 
superset-frontend/src/filters/components/Time/TimeFilterPlugin.test.tsx
 create mode 100644 
superset-frontend/src/pages/DatasetList/DatasetList.connectionPermissions.test.tsx
 create mode 100644 superset-frontend/src/utils/semanticViewStructure.test.ts
 create mode 100644 superset-frontend/src/utils/semanticViewStructure.ts
 create mode 100644 superset-frontend/src/views/App.test.tsx
 create mode 100644 superset/commands/report/execution_claim.py
 create mode 100644 superset/commands/semantic_layer/utils.py
 create mode 100644 superset/commands/soft_delete_collisions.py
 create mode 100644 superset/common/utils/time_grain_utils.py
 create mode 100644 superset/dashboards/layout.py
 create mode 100644 superset/mcp_service/chart/plugins/bubble.py
 create mode 100644 superset/mcp_service/chart/treemap_preview.py
 create mode 100644 
superset/mcp_service/dashboard/tool/apply_dashboard_filters.py
 create mode 100644 superset/mcp_service/dataset_scope.py
 rename superset/mcp_service/utils/{token_utils.py => response_size_utils.py} 
(60%)
 create mode 100644 superset/mcp_service/utils/serialization.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-00_1f5f4fb8bfc1_delete_deprecated_permissions_33272.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-01_3ce9a4572f8a_rename_deprecated_permissions_33272.py
 create mode 100644 
superset/migrations/versions/2026-09-16_00-00_93d1b4a76c02_add_report_execution_ownership.py
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-16_00-01_2ce579e91ae6_merge_deprecated_permissions_with_master.py} (79%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-17_00-00_53a7abc31422_merge_deprecated_permissions_with_master_v2.py} 
(76%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-23_00-00_95d8a99c822e_merge_deprecated_permissions_with_master_v3.py} 
(76%)
 copy {superset-core/src/superset_core/mcp => superset/realtime}/__init__.py 
(94%)
 create mode 100644 superset/realtime/publish.py
 create mode 100644 superset/semantic_layers/masking.py
 create mode 100644 superset/sql/dialects/databend.py
 delete mode 100644 superset/sql_validators/postgres.py
 create mode 100644 superset/versioning/activity/creation.py
 copy superset/{extensions/storage/__init__.py => versioning/creation_kinds.py} 
(64%)
 create mode 100644 tests/integration_tests/charts/semantic_save_tests.py
 create mode 100644 tests/integration_tests/reports/execution_claim_tests.py
 create mode 100644 
tests/integration_tests/versioning/activity_write_after_read_tests.py
 create mode 100644 
tests/integration_tests/versioning/conditional_token_lock_tests.py
 create mode 100644 tests/integration_tests/versioning/creation_row_tests.py
 create mode 100644 
tests/integration_tests/versioning/restore_fails_closed_tests.py
 create mode 100644 tests/unit_tests/charts/semantic_view_chart_filter_test.py
 create mode 100644 tests/unit_tests/commands/dashboard/slug_collision_test.py
 create mode 100644 tests/unit_tests/commands/report/execution_claim_test.py
 create mode 100644 
tests/unit_tests/commands/report/execution_ownership_migration_test.py
 create mode 100644 tests/unit_tests/dashboards/datasets_test.py
 create mode 100644 tests/unit_tests/dashboards/layout_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_lib.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_shillelagh.py
 create mode 100644 tests/unit_tests/explore/form_data_api_test.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_bubble_chart.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_time_grain_generic_axes.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_treemap_completeness.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/tool/test_get_chart_info_permalink.py
 create mode 100644 
tests/unit_tests/mcp_service/dashboard/tool/test_apply_dashboard_filters.py
 create mode 100644 tests/unit_tests/mcp_service/test_dataset_scope.py
 create mode 100644 tests/unit_tests/mcp_service/test_response_serialization.py
 rename tests/unit_tests/mcp_service/utils/{test_token_utils.py => 
test_response_size_utils.py} (60%)
 create mode 100644 tests/unit_tests/mcp_service/utils/test_serialization.py
 create mode 100644 tests/unit_tests/migrations/shared/security_converge_test.py
 create mode 100644 
tests/unit_tests/migrations/test_deprecated_permissions_33272.py
 delete mode 100644 tests/unit_tests/scheduled_docker_image_refresh_test.py
 create mode 100644 tests/unit_tests/scripts/docker_cache_ref_test.py
 create mode 100644 
tests/unit_tests/scripts/translations/check_pot_drift_test.py
 create mode 100644 tests/unit_tests/security/test_guest_token_empty_filter.py
 create mode 100644 tests/unit_tests/semantic_layers/connections_access_test.py
 create mode 100644 
tests/unit_tests/semantic_layers/fixtures/snowflake_configuration.json
 create mode 100644 tests/unit_tests/semantic_layers/masking_test.py
 create mode 100644 tests/unit_tests/semantic_layers/provider_masking_test.py
 copy {scripts => tests/unit_tests/soft_delete}/__init__.py (100%)
 create mode 100644 tests/unit_tests/soft_delete/test_restore_purge_hoist.py
 create mode 100644 
tests/unit_tests/sql/dialects/databend_function_catalogue.txt
 create mode 100644 tests/unit_tests/sql/dialects/databend_tests.py
 create mode 100644 
tests/unit_tests/subjects/test_report_executor_remediation.py
 create mode 100644 tests/unit_tests/test_realtime_publish.py
 create mode 100644 tests/unit_tests/versioning/test_version_info_locking.py
 create mode 100644 tests/unit_tests/views/test_i18n_constants.py

Reply via email to