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

eschutho pushed a change to branch fix-cache-max-value-size-default
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit aa3b2ccfee3 fix(cache): remove the older cached value when an 
oversized write is skipped
    omit 37b6f812170 fix(cache): drop the async cache-persistence check; skip 
size check on NullCache
    omit 9f9711ef128 fix(cache): default DATA_CACHE_MAX_VALUE_SIZE to 10 MB and 
apply it to every data-cache writer
     add 5aec4342bb5 fix(database): catch JSONDecodeError in get_oauth2_config 
(#44658)
     add 10ca640e97e fix(import): downgrade expected validation-failure logs 
from error to warning (#44655)
     add 181422fc604 fix(mcp): return safe argument validation details (#44591)
     add 05017968378 chore(ci): collapse Playwright experimental workflow into 
E2E playwright-tests (#44659)
     add a33154a4c49 chore(deps-dev): bump hdbcli from 2.29.27 to 2.30.27 
(#44687)
     add 60a0b45b06f chore(deps-dev): bump mysqlclient from 2.2.8 to 2.3.0 
(#44689)
     add 1aaa1e6ad1a chore(deps): bump greenlet from 3.5.5 to 3.5.6 (#44691)
     add 1a65f0ec9be chore(deps-dev): bump google-cloud-bigquery from 3.45.0 to 
3.45.2 (#44692)
     add b4db7baaff5 chore(deps-dev): bump python-ldap from 3.4.7 to 3.4.8 
(#44690)
     add 6e2e7c6c84f chore(deps-dev): update playwright requirement from 
<2,>=1.62.0 to >=1.63.0,<2 (#44688)
     add 5b9733fd60f fix(versioning): resolve nightly pre-commit (next) 
failures — mypy UUID-annotation regression and oxfmt version-drift formatting 
(#44648)
     add eb2ffa28ccf chore(docker): quiet scanner self-match noise, keep OS 
packages current (#44124)
     add 2e13cfa3e48 fix(charts): stream large CSV exports without executing 
the query first (#44624)
     add 25e63b54fd8 feat(mcp): add create_dataset_metric and 
delete_dataset_metric tools (#44580)
     add c54a3315e86 feat(plugin-chart-echarts): add Candlestick Chart (#43863)
     add 891c2ede0b6 feat(dashboard): download the Excel export directly when 
no export storage is configured (#44082)
     add 35e58506061 fix(charts): guard Slice.form_data against non-dict params 
JSON (#44731)
     add 8a3b86dccd3 fix: guard the isdigit()-then-int() pattern against 
non-decimal digits (#44620)
     add 1436035b091 fix(bar-chart): show correct value labels per stack group 
with stackDimension (#43238)
     add ad24cb86342 fix(embedded): initialize feature flags in embedded 
dashboard entry point (#37367)
     add 8c4b5ae2085 chore(deps): bump codecov/codecov-action from 7.1.0 to 
7.1.1 (#44571)
     add b6be1dd5548 build(dev-deps): use `@hainenber/po2json` as modernized 
`po2json` fork (#44457)
     add ffe9a00fc42 fix(reports): export full paginated table results (#44218)
     add f3e3c3fefdd fix(security): apply global guest RLS rules to sub-queries 
in virtual datasets (#44650)
     add 049c9777f03 fix(dashboard): load chart editors and viewers up front 
(#43990)
     add 5ba3b8d4fc7 fix(security): keep guest RLS on sub-queries beside an 
unaliased source (#44768)
     add d1307422f17 fix(reports): require a Slack channel id in report 
recipients (#42850)
     add 4977a2a5347 chore(deps-dev): bump the babel group in 
/superset-embedded-sdk with 3 updates (#44747)
     add ba6268bddf6 chore(deps-dev): bump jest-environment-jsdom from 30.5.1 
to 30.5.2 in /superset-frontend (#44764)
     add a5ae32d3911 chore(deps-dev): bump tsx from 4.23.13 to 4.23.15 in 
/superset-frontend (#44757)
     add d9df1b3b83d chore(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 
(#44750)
     add 1ad6c118003 chore(deps-dev): bump minimizer-webpack-plugin from 5.10.1 
to 5.11.0 in /superset-frontend (#44755)
     add ca6fc26fa4a fix(deps): resolve npm security alerts for fflate, 
image-size, js-yaml and smol-toml (#44740)
     add f6d9b7b94cd fix(mcp): use chart metrics for the preview y axis (#44684)
     add b2d54504537 chore(deps): bump antd from 6.6.4 to 6.6.5 in 
/superset-frontend (#44766)
     add c217fe4d1e7 chore(deps-dev): bump jest from 30.5.1 to 30.5.2 in 
/superset-frontend (#44763)
     add 0085640384d chore(deps-dev): bump babel-jest from 30.5.1 to 30.5.2 in 
/superset-frontend (#44762)
     add e8539f9aff8 chore(deps-dev): bump @types/node from 26.6.1 to 26.6.2 in 
/superset-frontend (#44761)
     add 7c1979ec542 chore(deps): bump react-error-boundary from 6.1.5 to 6.1.6 
in /superset-frontend (#44760)
     add 21ed6880d5e chore(deps-dev): bump webpack from 5.111.0 to 5.111.1 in 
/superset-frontend (#44756)
     add 6ae6e7b2874 chore(deps-dev): bump webpack from 5.111.0 to 5.111.1 in 
/docs (#44753)
     add 6de85946c40 chore(deps-dev): bump @babel/eslint-parser from 7.29.7 to 
7.29.9 in /superset-frontend in the babel group (#44752)
     add 565f49d9343 chore(deps): bump antd from 6.6.4 to 6.6.5 in /docs 
(#44751)
     add 1c2e7c2988f chore(deps-dev): bump webpack from 5.111.0 to 5.111.1 in 
/superset-embedded-sdk (#44749)
     add feb4c4f6227 chore(deps-dev): bump @types/node from 26.6.1 to 26.6.2 in 
/superset-embedded-sdk (#44748)
     add 60fc9966025 chore(deps-dev): bump @types/node from 26.6.1 to 26.6.2 in 
/superset-websocket (#44745)
     add 68ccc99e950 fix(dataset): hide Normalize column names for virtual 
datasets (#44579)
     add 766f46b6e99 fix(deps): pin qs 6.16.0 in docs to resolve Dependabot 
alerts (#44741)
     add 5af034ff6f8 fix(translations): capture stderr and harden 
check_pot_drift.py follow-ups from #44578 (#44582)
     add c9455b2c4cc fix(i18n): correct Slovak SQL Lab progress message 
placeholders (#44587)
     add a629c91929d test(explore): migrate remaining explore e2e coverage to 
Playwright (#44621)
     add 891dbc424b1 fix(deps): bump anyio to 4.15.1 (CVE-2026-63374) (#44735)
     add 74d9d94aed1 test(dashboard): cover native filter dependency cycles and 
config modal save gating (#44669)
     add 169514aebd7 test(dashboard): cover dashboard load modes and URL param 
hydration (#44672)
     add 3667f5bcaa6 test(dashboard): cover color scheme precedence and label 
color map helpers (#44677)
     add 89bf40ee04e fix(calendar): position Month/Week cells within their own 
month block (#44601)
     add 0e688a534b6 fix(ci): retry databend testcontainers bring-up past the 
image's metasrv race (#44729)
     add ff55a99ab73 test(dashboard): cover filter plugin data masks and 
horizontal overflow (#44676)
     add 78fdd0dafa9 test(dashboard): cover native filter bar key persistence 
and state hooks (#44675)
     add e5100cd9986 test(dashboard): cover tab switching visibility and hidden 
chart updates (#44674)
     add 3ae8e2f9bc4 test(dashboard): cover save and refresh interval modals 
(#44671)
     add 98c74d8d8bf test(dashboard): cover drill to detail payloads and page 
reset (#44673)
     add 6cad838c823 chore(dev-deps): drop po2json entirely, build .po->Jed 
JSON on gettext-parser (#44742)
     add 77295721ff9 feat(versioning): gate history APIs and runtime capture 
(#44514)
     add 6f6e52ba8b1 fix(chart/data): guard against non-dict chart.params in 
get_data (#44770)
     add 593080e1a2c feat(mcp): add update_dataset, delete_dataset and 
restore_dataset tools (#44337)
     add 8bd92b7073e fix(databases): surface dataset dependents in the delete 
confirmation (#44392)
     add 211339b9a78 chore: add @geido and @msyavuz as code owners (#44771)
     add 1e167aedbc0 fix(dashboard): refresh version history after cross-filter 
scoping save (#44623)
     add 9593bc42c64 fix(ui): normalize BigInt values in memory formatter 
(#44507)
     add b65d5482b2c feat(dataset): support epoch_us python_date_format (#44500)
     add 697b056909c fix(chart): prevent stacking bars on a logarithmic axis 
(#44556)
     add a374f847d61 fix(echarts): reserve grid room for Gantt category names 
(#43189)
     add 95db7730256 fix(timeseries): preserve explicit UTC offsets in 
normalizeTimestamp (#43960)
     add 506716f2f88 fix(query-context): resolve legacy granularity_sqla for 
stored queries (#44460)
     add c7821516e39 fix(security): vary SQL Lab ad-hoc query cache key by 
effective RLS predicates (#43985)
     add 4679a471015 test(dashboard): cover header refresh controls while 
charts load (#44670)
     add ae11708faab test(dashboard): cover edit-mode drag-and-drop drop rules 
(#44678)
     add 0fbad0de99d feat(db_engine_specs): add metadata blocks to all 
remaining incomplete engine specs (#43566)
     add 7cb19e2b50d fix(embedded-sdk): re-authenticate the iframe after a 
navigation internal to the dashboard (#44470)
     add c67c88fbf1e fix(reports): drop the sign of negative numbers that round 
to zero in text reports (#44644)
     add 1fdb9171b7b fix(explore): include dataset editors in the Explore 
datasource payload (#44633)
     add d3f57264890 fix(echarts): stop the zoom controls overlapping the 
legend selector (#44367)
     add 0e5a3b21215 feat(motherduck): set session_name on user impersonation 
(#42705)
     add 33d24f496c9 fix(ci): fall back to the lean Dockerfile target when 
publishing a pre-#44100 release (#44248)
     add b4f79f94f82 fix(d1): support SQLAlchemy 2 with sqlalchemy-d1 0.2.0 
(#44505)
     add cfeceedb605 fix(types): preserve shared control registry option types 
(#44559)
     add 1e91b933774 refactor(dashboard): simplify cross-filter scope 
resolution (#38762)
     add db87cd2a2b2 fix(dataframe): normalize trusted nonfinite scalars 
(#44219)
     add e86af4ee954 fix: DashboardAccessFilter to preserve dashboards with 
empty layouts (#44256)
     add 49e71752e48 fix(excel): keep wall-clock datetimes when exporting 
timezones (#44360)
     add 19ea6b231c7 fix(mcp): hide internal sanitization warnings from input 
schemas (#44602)
     add c40eba410b7 fix(kylin): time grains and labels that work on Calcite 
and Spark pushdown (#44712)
     add ca3d3560895 feat(oracle): support cancelling running queries in SQL 
Lab (#44704)
     add e7275f15ae0 feat(echarts): double-click chart legend to isolate a 
series (#44562)
     add 4a51382f819 chore(deps-dev): bump oxfmt from 0.68.0 to 0.70.0 in 
/superset-frontend (#44785)
     add 983d00165a7 chore(deps-dev): bump jsdom from 30.1.0 to 30.1.1 in 
/superset-frontend (#44784)
     add f837f839708 chore(deps): bump react-window from 2.3.1 to 2.3.2 in 
/superset-frontend (#44782)
     add 5150266456a chore(deps-dev): bump oxlint from 1.83.0 to 1.85.0 in 
/docs (#44781)
     add b8e40175053 chore(deps-dev): bump the typescript-eslint group in 
/superset-frontend with 2 updates (#44779)
     add 4422cf38776 chore(deps-dev): bump oxfmt from 0.68.0 to 0.70.0 in 
/superset-websocket (#44778)
     add ce86ac9aefc chore(deps-dev): bump jsdom from 30.1.0 to 30.1.1 in 
/superset-embedded-sdk (#44777)
     add ef99eeac8ee chore(deps-dev): bump oxlint from 1.83.0 to 1.85.0 in 
/superset-frontend (#44783)
     add 72c8969ce38 chore(deps-dev): bump oxfmt from 0.68.0 to 0.70.0 in /docs 
(#44780)
     add 3d436f579c9 chore(deps-dev): bump oxlint from 1.83.0 to 1.85.0 in 
/superset-websocket (#44776)
     add e65de1fc0f0 fix(chart-data): roll back db.session after swallowed 
metadata-DB errors (#44653)
     add 45f4dd80092 fix: use database rollups for pivot table subtotals in 
Actual Values mode (#44631)
     add c51f192be6b fix(sqllab): stringify integer columns that overflow int64 
(#44743)
     add 2eb620e7372 fix(databases): validate schema before listing tables 
(#44683)
     add 27c6f5a8d90 fix(db_engine_specs): restore shared compiler state after 
loading third-party dialects (#44686)
     add 732e6551e0a fix(cratedb): recognize reflected timestamp types for 
epoch milliseconds (#44720)
     add 03227878ba3 fix(db_engine_specs): don't fail DDL/DML when the 
statement has no result set (#44714)
     add 3e9bd8b45b4 fix(dynamodb): map NUMBER columns and order charts by 
metric expressions (#44711)
     add 2b050596c0b fix(databricks): derive omitted OAuth2 endpoints from the 
workspace host (#44710)
     add 041f84c6f31 fix(clickhouse): rename SELECT aliases that shadow a 
source column (#44715)
     add f6a7802c81d fix(database): mask secrets in create and update responses 
(#44733)
     add f639b22c6c8 fix(api): return 4xx from oauth2 callback errors, not 500 
(#44769)
     add cba2574241e fix(i18n): clear 1,188 fuzzy translations with broken 
placeholders (#44611)
     add afe8b14d794 fix(database): coerce LazyString validation messages to 
str in validate_parameters (#44802)
     add c6e7bd47a4a fix(dashboard): catch JSONDecodeError on malformed 
default_filters in set_dash_metadata (#44716)
     add 9a5faa8af5b refactor(db_engine_specs): derive epoch method dispatch 
from EPOCH_FORMATS (#44772)
     add 63c004fe66c feat(mcp): add a permission-filtered asset catalog tool 
(#44694)
     add 6b2d3b15116 fix(auth): gate registration UI by auth type, not just the 
flag (#44368)
     add e1daa2f7e10 chore(deps-dev): bump ip-address from 10.4.0 to 10.7.2 in 
/superset-frontend in the security group across 1 directory (#44774)
     add 8bd268f9cef docs(versioning): screenshots, retention, and permission 
guidance for version history and archives (#44190)
     add 14b87366bc7 chore(deps-dev): bump brace-expansion from 5.0.9 to 5.0.12 
in /superset-embedded-sdk in the security group across 1 directory (#44812)
     add 1dbb7aaace6 chore(deps): bump fast-uri from 3.1.7 to 3.1.8 in /docs in 
the security group across 1 directory (#44814)
     add 6d1bfaa4cd4 fix(dashboard): forward clearAllTriggers from vertical 
filter bar to FilterControls (#44531)
     add df450dc2a24 fix(mypy): narrow nullable uuid before 
RestoreVersionCommand calls (#44789)
     add 92b0cf82ca9 fix(echarts-timeseries): convert xAxisLabelInterval string 
'0' to number 0 (#43729)
     add 517e94d1062 fix(echarts): fix sparse sub-daily bar sizing and x-axis 
mislabeling (#44628)
     add 48a3b02d129 fix(mysql): require TLS when SSL is requested (#44723)
     add 773f976b6de fix(dynamodb): render time bounds as ISO 8601 so sub-day 
ranges match stored timestamps (#44702)
     add 005eadcacd8 fix(opensearch): page drill-to-detail samples with the 
OpenSearch SQL response format (#44703)
     add 542e4661837 fix(gsheets): pass the OAuth2 token and delegation subject 
through connect_args (#44709)
     add 16271bbfbb7 fix(databricks): stop the string-type patch writing 
SQLAlchemy's shared colspecs (#44707)
     add 7154f2790a9 fix(oracle): map Oracle NUMBER, BINARY_FLOAT/DOUBLE and 
CLOB column types (#44685)
     add 3e8cec55c4b chore(deps): bump undici from 7.29.0 to 7.30.0 in 
/superset-frontend in the security group across 1 directory (#44809)
     add 89759eba5d9 chore(deps): bump react-window from 2.3.2 to 2.3.3 in 
/superset-frontend (#44820)
     add 3e36b242a61 fix(datafusion): render temporal SQL that DataFusion 
accepts (#44700)
     add 8c3b985c22c fix(db2): set current_schema to the catalog name of the 
selected schema (#44706)
     add ba62c867258 chore(deps): bump brace-expansion from 5.0.9 to 5.0.12 in 
/superset-frontend/cypress-base (#44813)
     add 3f8a23622c7 perf(security): memoise the user subject lookup within a 
request (#44017)
     add 3f408238baa refactor(mcp): one plugin lifecycle contract and compact 
chart config schemas (#44746)
     add 5668faf18e6 fix(doris): quarter grain, SSL toggle, parameters URI, 
error mapping and column types (#44718)
     add 929c44097f8 chore(deps): bump the security group across 1 directory 
with 2 updates (#44824)
     add e93f8ce638c test(semantic-views): wait for views refetches to settle 
before selecting a view (#44792)
     add 21d46d52dfd chore(build): remove unused dependencies in `docs` and 
`superset-frontend` (#44697)
     add af794f8c93a chore(deps): bump the security group across 1 directory 
with 2 updates (#44831)
     add 8a7be3b327b fix: avoid provider calls when rendering datasource access 
denials (#44432)
     add 3b06cadca4c fix(csv-import): add primary key when MySQL requires one 
(#44411)
     add 88efac09c67 fix(mcp): align histogram and waterfall query contracts 
(#44744)
     add 65a6012843b ci(python): run the Python-next canary nightly, bump to 
3.13 (#44767)
     add e90b9fb751e chore(deps): bump dompurify from 3.4.15 to 3.4.16 in 
/superset-frontend in the security group across 1 directory (#44830)
     add 51378f529d8 fix(matrixify): fan metrics-axis selection into 
multi-query fields (#44629)
     add 883e43ee2da fix(sqllab): ignore non-object template_params in 
format_sql instead of 500 (#44826)
     add bbf0fa5f42f fix(core): stop discarding API errors that quote an HTML 
tag (#42489)
     add d80fcfc02a2 fix(i18n): make babel_update.sh .pot normalization 
actually run (#44395)
     add f02f53df234 fix(sql): reject client-side file-transfer statements in 
query execution (#44496)
     add fd524f4b217 fix(sqllab): preserve exact decimals in results and 
exports (#44739)
     add d2101c8dba2 fix(exasol): classify common server errors (#44721)
     add dc0e306a24c fix(elasticsearch): classify byte, short, half_float, 
scaled_float and unsigned_long columns (#44713)
     add 8baa9c1f2e3 fix(db2): accept sqlglot's parse_mod in the DB2 term 
parser (#44708)
     add 5cf8213354c fix(databricks): keep the user's OAuth2 token and extra 
connect_args; re-auth on HTTP 401 (#44705)
     add 855bb4e21c8 fix(gsheets): align service-account validation and 
serialize upload dates (#44695)
     add bbf00956d46 fix(mcp): prioritize exact tool names in BM25 search 
(#44682)
     add 90fc4735835 test(embedded-sdk): cross-document test rig for the 
navigation fix (#44608)
     add e91ce19a606 fix(auth): drain flash messages on the login page (#44605)
     add 924343e3ee6 fix(gantt): prevent y-axis category labels from being 
clipped (#44321)
     add d2fb52ac83e fix(auth): remove the legacy FAB password reset views and 
move password resets into the SPA (#44626)
     add 4cdd680f399 fix: increase dataset edit modal size (#38215) (#39257)
     add 4911dbe00b0 fix(doris): offer the connection form by matching the 
installed driver (#44736)
     add 3109cfaf6d6 chore(deps): bump @googleapis/sheets from 18.0.0 to 18.0.1 
in /superset-frontend (#44862)
     add 4f9c22db6dc chore(deps): bump github/codeql-action/analyze from 4.38.1 
to 4.38.2 (#44861)
     add 6418473be14 chore(deps): bump github/codeql-action/upload-sarif from 
4.38.1 to 4.38.2 (#44859)
     add 8b643519ca0 chore: add sadpandajoe as a codeowner for .asf.yaml 
(#44855)
     add b98e19f6eb2 chore: drop cypress-matrix-required from required status 
checks (#44854)
     add 74d885233de chore(deps): bump github/codeql-action/init from 4.38.1 to 
4.38.2 (#44860)
     add 8ab7a85a3d7 chore(e2e): remove Cypress infrastructure (#44829)
     add ee39954adb6 fix(oauth2): refresh a token rejected when a connection 
opens (#44765)
     add e5ec22ab3e9 feat(table): add multi-level column header groups (#43938)
     add a12d1b8e127 fix(mcp): enforce tool deadlines without blocking the 
server (#44581)
     add 0a0a1974c50 test(playwright): select existing dashboards without 
creating duplicates (#44856)
     add 33292f249da feat(mcp): support tab-scoped dashboard layouts (#44797)
     add 4ae8fe71225 fix: size 'Drill to detail' table header correctly (#44807)
     add 2c72d4d4fee fix(mcp): use DEFAULT_PAGE_SIZE constant in list_charts 
test (#44786)
     add 446853004a4 fix(mcp): keep a bubble chart's colors and row limit 
across updates (#44618)
     add 217e4c0223f fix(frontend): use html2canvas for chart image export on 
Safari (#44529)
     add c82f97b69d6 chore(deps): bump deck.gl and luma.gl from 9.2.5 to 9.4.0 
in /superset-frontend (#42608)
     add abdf2e6c702 fix(home): redirect users without an ID before rendering 
(#44456)
     add 3f6d4cd6896 chore(deps-dev): update google-cloud-storage requirement 
from >=1.37 to >=3.14.1 (#44693)
     add 6a832cb2102 fix(mcp): enforce dashboard filter scope on dataset, SQL 
and chart tool calls (#44800)
     add e7702020344 fix(postprocessing): preserve NULL index values through 
pivot() (#43547) (#43693)
     add f7badeb095b fix(mcp): execute_sql request limit caps, never raises, an 
explicit SQL LIMIT (#44604)
     add db56168a861 ci: require babel-extract to pass before merging master 
(#44543)
     add 342a8f1e4e0 fix(mcp): report a chart's live dataset id and name 
(#44681)
     add 21b937b59d7 fix(retention): skip models without purge policies before 
scanning (#44874)
     add 6d97cde59a6 fix(semantic-layers): export/import semantic-view charts 
by typed reference (#44396)
     add b94f88ffbb4 fix(semantic-layer): require explicit member identity 
reselection (#44370)
     add 9c7c96fe057 fix(logging): register LogRestApi only once (#44732)
     add edc91b86e5c chore(deps-dev): bump baseline-browser-mapping from 
2.11.25 to 2.11.26 in /superset-frontend (#44890)
     add 338e640df93 chore(deps): bump dompurify from 3.4.15 to 3.4.16 in 
/superset-frontend (#44889)
     add 4a199486599 chore(deps): bump dom-to-image-more from 3.10.2 to 3.11.0 
in /superset-frontend (#44888)
     add 6559b483f28 chore(deps): bump maplibre-gl from 6.8.0 to 6.11.2 in 
/superset-frontend (#44887)
     add dfccc2e1e9c chore(deps-dev): bump minimizer-webpack-plugin from 5.11.0 
to 5.12.0 in /superset-frontend (#44886)
     add c43770e12da chore(deps-dev): bump webpack-sources from 3.5.1 to 3.5.3 
in /superset-frontend (#44885)
     add 95faf3a6a04 chore(deps-dev): bump oxlint-tsgolint from 7.0.2002 to 
7.0.2003 in /docs (#44883)
     add 27c9213cca2 chore(deps-dev): bump oxlint-tsgolint from 7.0.2002 to 
7.0.2003 in /superset-websocket (#44882)
     add 25956d6c448 chore(superset-ui-chart-controls): forward-compat fixes 
for TypeScript 6.0 (#44877)
     add ba3500e0e9a feat(export/import): add annotation layer export/import 
support for charts and dashboards (#43232)
     add 1b0a37cf223 fix(users): stop update_me setting self-referential 
changed_by_fk (#44866)
     add 7bb29649416 chore(deps): bump dawidd6/action-download-artifact from 24 
to 25 (#44884)
     add 005edd74234 chore(build): de-vendor `helm/chart-testing-action` GHA 
(#44722)
     add 10d06859b83 fix(ci): floor pyfakefs at 5.7.4 to fix Python 3.13 
pytest-cov crash (#44853)
     add 0fdfd6660e0 docs(databases): add ClickHouse Managed Postgres (#44870)
     add e0483898728 test(explore): cover time range frames, comparison labels, 
and metric popover state (#44847)
     add c1bb129c218 fix(change-detector): classify changed files by language, 
not directory (#44895)
     add e606cadff7c chore(mcp): fix malformed tool and prompt docstrings 
(#44572)
     add ef64bacbaa0 feat(chart): cross-filter by x-axis label on charts with 
dimensions (#44869)
     add b0ac9ef61f6 test(explore): cover color scheme selection, BigNumber 
subheader/trendline, and WorldMap bubbles (#44846)
     add 8d25777b995 test(plugin-chart-table): cover server-side sort, query 
mode controls, and sort ordering (#44845)
     add 8849542bda1 test(explore): cover viz switch and control dependency 
logic (#44842)
     add 03b61cc2d89 test(explore): add fetchTopNValues unit tests (#44841)
     add e32493c9d93 test(explore): add saveModalReducer unit tests (#44839)
     add f6155b9e9ea fix(dashboard): show the configured refresh warning 
alongside the limit error (#44836)
     add 240a4267f85 test(explore): add datasourcesReducer unit tests (#44840)
     add bc3698b5d64 test(explore): port remaining deleted Cypress explore 
specs to RTL (#44838)
     add 2872d16ee65 test(frontend): await the userEvent calls that needed 
restructuring (#44799)
     add 7fea33761b8 fix(chart): wrap raw pandas TypeError/DataError from 
post-processing as QueryObjectValidationError (#44463)
     add 3f7d01aaafc fix(reports): catch TypeError when validating non-string 
extra.dashboard.anchor (#44404)
     add ece8b8bd7b2 fix(import): avoid UnboundLocalError when load_yaml fails 
during load_configs (SC-121288) (#44390)
     add 47ba8fc8014 fix(api): return 401 not 500 for auth errors in 
CurrentUserRestApi (SC-120417) (#44213)
     add ef2c05c0900 fix(security): guard is_guest_user against 
NoAuthorizationError on unauthenticated error paths (#43826)
     add f9d67e1a118 fix: downgrade deprecated query_object field warnings to 
info (#43520)
     add 396030d87e0 docs: remove stale Selenium references after 
Playwright-only switch (#44243)
     add 3fa06db85b6 fix(mcp): include feature_availability in 
instance://metadata resource (#44891)
     add 7693f841080 fix(cache): default DATA_CACHE_MAX_VALUE_SIZE to 10 MB and 
apply it to every data-cache writer
     add cc94187c698 fix(cache): drop the async cache-persistence check; skip 
size check on NullCache
     add c884fb80888 fix(cache): remove the older cached value when an 
oversized write is skipped

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   (aa3b2ccfee3)
            \
             N -- N -- N   refs/heads/fix-cache-max-value-size-default 
(c884fb80888)

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:
 .asf.yaml                                          |     2 +-
 .cursor/rules/dev-standard.mdc                     |     4 +-
 .dockerignore                                      |     1 -
 .envrc.example                                     |     1 -
 .github/CODEOWNERS                                 |    16 +-
 .github/actions/change-detector/action.yml         |     5 +
 .github/actions/chart-testing-action               |     1 -
 .github/actions/setup-backend/action.yml           |     5 +-
 .github/labeler.yml                                |     2 -
 .github/workflows/bashlib.sh                       |   136 +-
 .github/workflows/bump-python-package.yml          |     2 +-
 .github/workflows/caches.js                        |     6 -
 .github/workflows/codeql-analysis.yml              |     4 +-
 .github/workflows/docker.yml                       |     2 +-
 .github/workflows/python-nightly-canary.yml        |    94 +
 .github/workflows/superset-docs-deploy.yml         |     4 +-
 .github/workflows/superset-docs-verify.yml         |     2 +-
 .github/workflows/superset-e2e.yml                 |   225 +-
 .github/workflows/superset-extensions-cli.yml      |     2 +-
 .github/workflows/superset-frontend.yml            |     2 +-
 .github/workflows/superset-helm-lint-test.yml      |    19 +-
 .github/workflows/superset-playwright.yml          |   222 -
 .../workflows/superset-python-integrationtest.yml  |     6 +-
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 .github/workflows/superset-python-unittest.yml     |     9 +-
 .github/workflows/superset-translations.yml        |     2 +
 .github/workflows/tag-release.yml                  |    31 +-
 .gitmodules                                        |     3 -
 .grype.yaml                                        |    39 +
 .pre-commit-config.yaml                            |     3 +-
 AGENTS.md                                          |    10 +-
 Makefile                                           |     8 -
 RESOURCES/STANDARD_ROLES.md                        |     6 -
 UPDATING.md                                        |   436 +-
 docker-compose.yml                                 |     2 -
 docker/.env                                        |     2 -
 docker/.env-local.example                          |     1 -
 docker/apt-install.sh                              |     8 +
 docker/docker-bootstrap.sh                         |     7 -
 docker/docker-init.sh                              |    31 +-
 docker/pythonpath_dev/superset_config.py           |    13 -
 docs/admin_docs/configuration/alerts-reports.mdx   |    57 +-
 docs/admin_docs/configuration/cache.mdx            |    37 +-
 .../configuration/configuring-superset.mdx         |    12 +-
 .../configuration/dashboard-performance.mdx        |     4 +-
 docs/admin_docs/configuration/google-sheets.mdx    |    49 +
 .../importing-exporting-datasources.mdx            |    32 +
 docs/admin_docs/configuration/mcp-server.mdx       |   278 +
 docs/developer_docs/api.mdx                        |    18 +
 .../contributing/development-setup.md              |    12 +-
 docs/developer_docs/contributing/howtos.md         |    35 +-
 docs/developer_docs/extensions/mcp.md              |    21 +
 .../guidelines/frontend-style-guidelines.md        |     2 +-
 docs/developer_docs/testing/backend-testing.md     |     3 +-
 docs/developer_docs/testing/e2e-testing.md         |    28 +-
 docs/developer_docs/testing/overview.md            |     2 +-
 docs/developer_docs/testing/testing-guidelines.md  |    31 +-
 docs/docs/quickstart.mdx                           |     3 +
 .../creating-your-first-dashboard.mdx              |    20 +
 docs/docs/using-superset/exploring-data.mdx        |     8 +
 .../using-superset/exporting-dashboard-data.mdx    |   112 +-
 docs/docs/using-superset/number-formatting.mdx     |    16 +
 docs/docs/using-superset/recently-archived.mdx     |   111 +-
 .../using-superset/semantic-member-selections.mdx  |    62 +
 .../docs/using-superset/using-ai-with-superset.mdx |    25 +
 docs/docs/using-superset/version-history.mdx       |   179 +-
 docs/docusaurus.config.ts                          |     1 -
 docs/package.json                                  |    21 +-
 docs/src/data/databases.json                       |    33 +-
 docs/static/feature-flags.json                     |     2 +-
 .../img/version-history/recently-archived.jpg      |   Bin 0 -> 23897 bytes
 .../img/version-history/version-history-panel.jpg  |   Bin 0 -> 19792 bytes
 .../version-history/version-history-preview.jpg    |   Bin 0 -> 64287 bytes
 docs/static/resources/openapi.json                 |    76 +-
 .../databases/supported/apache-doris.mdx           |     8 +
 .../version-6.1.0/databases/supported/mysql.mdx    |    18 +
 docs/yarn.lock                                     |   611 +-
 pyproject.toml                                     |    39 +-
 requirements/base.txt                              |     2 +-
 requirements/development.in                        |    11 +
 requirements/development.txt                       |    21 +-
 scripts/change_detector.py                         |    61 +
 scripts/cypress_run.py                             |   167 -
 scripts/docker-compose-up.sh                       |     4 -
 scripts/docker_release_target.py                   |   129 +
 scripts/translations/babel_update.sh               |    15 +-
 scripts/translations/check_pot_drift.py            |    52 +-
 superset-core/src/superset_core/queries/types.py   |     3 +
 .../src/superset_core/semantic_layers/types.py     |     1 +
 .../src/superset_core/semantic_layers/view.py      |    14 +
 superset-embedded-sdk/package-lock.json            |   220 +-
 superset-embedded-sdk/package.json                 |    12 +-
 superset-embedded-sdk/src/index.test.ts            |   349 +-
 superset-embedded-sdk/src/index.ts                 |   374 +-
 superset-embedded-sdk/testrig/README.md            |    89 +
 superset-embedded-sdk/testrig/drive.mjs            |   655 +
 superset-embedded-sdk/testrig/embedded.html        |   127 +
 superset-embedded-sdk/testrig/host.html            |   239 +
 superset-embedded-sdk/testrig/server.mjs           |   199 +
 superset-frontend/.gitignore                       |     2 -
 superset-frontend/babel.config.js                  |     2 +-
 superset-frontend/cypress-base/.gitignore          |     4 -
 superset-frontend/cypress-base/cypress.config.ts   |    84 -
 .../cypress-base/cypress/e2e/explore/chart.test.js |   157 -
 .../cypress-base/cypress/e2e/explore/utils.ts      |    78 -
 .../e2e/explore/visualizations/shared.helper.js    |   139 -
 .../cypress-base/cypress/fixtures/charts.json      |    38 -
 .../cypress-base/cypress/fixtures/dashboards.json  |    46 -
 .../cypress-base/cypress/support/e2e.ts            |   455 -
 .../cypress-base/cypress/support/index.d.ts        |    92 -
 .../cypress-base/cypress/utils/index.ts            |   121 -
 .../cypress-base/cypress/utils/parsePostForm.ts    |    60 -
 .../cypress-base/cypress/utils/vizPlugins.ts       |   104 -
 superset-frontend/cypress-base/package-lock.json   | 15006 -------------------
 superset-frontend/cypress-base/package.json        |    57 -
 superset-frontend/cypress-base/tsconfig.json       |    16 -
 superset-frontend/cypress_build.sh                 |    46 -
 superset-frontend/eslint.config.minimal.js         |     1 -
 superset-frontend/jest.config.js                   |    16 +-
 superset-frontend/oxlint.json                      |     1 -
 superset-frontend/package-lock.json                |  2385 ++-
 superset-frontend/package.json                     |   118 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../packages/superset-core/package.json            |     2 -
 .../src/sections/sections.tsx                      |     7 +
 .../src/shared-controls/sharedControls.tsx         |    13 +-
 .../superset-ui-chart-controls/src/types.ts        |     2 +
 .../src/utils/getColorFormatters.ts                |    84 +-
 .../src/utils/headerGroups.test.ts                 |  1065 ++
 .../src/utils/headerGroups.ts                      |   903 ++
 .../superset-ui-chart-controls/src/utils/index.ts  |     1 +
 .../packages/superset-ui-core/package.json         |     8 +-
 .../Matrixify/MatrixifyGridGenerator.test.ts       |    63 +
 .../components/Matrixify/MatrixifyGridGenerator.ts |    34 +-
 .../superset-ui-core/src/chart/types/VizType.ts    |     1 +
 .../components/DeleteModal/DeleteModal.test.tsx    |    37 +-
 .../src/components/DeleteModal/index.tsx           |    14 +-
 .../src/components/DeleteModal/types.ts            |     4 +-
 .../src/components/Table/VirtualTable.test.tsx     |    83 +
 .../src/components/Table/VirtualTable.tsx          |    20 +-
 .../factories/createMemoryFormatter.ts             |    11 +-
 .../superset-ui-core/src/query/extractExtras.ts    |    22 +
 .../src/query/extractQueryFields.ts                |     4 +
 .../src/query/getClientErrorObject.ts              |    29 +-
 .../packages/superset-ui-core/src/query/index.ts   |     2 +
 .../src/query/semanticSelection.ts                 |    42 +
 .../superset-ui-core/src/query/types/Dashboard.ts  |     1 +
 .../superset-ui-core/src/query/types/Query.ts      |     1 +
 .../src/query/types/QueryFormData.ts               |    12 +-
 .../src/time-format/utils/normalizeTimestamp.ts    |    18 +
 .../factories/createMemoryFormatter.test.ts        |     7 +
 .../test/query/extractExtras.test.ts               |    62 +
 .../test/query/extractQueryFields.test.ts          |    12 +
 .../test/query/getClientErrorObject.test.ts        |    66 +
 .../time-format/utils/normalizeTimestamp.test.ts   |    70 +
 superset-frontend/playwright.config.ts             |     9 -
 .../playwright/components/core/Menu.ts             |     7 +
 .../playwright/components/core/Radio.ts            |    69 +
 .../playwright/components/core/Select.ts           |     8 +-
 .../playwright/components/core/index.ts            |     1 +
 .../components/dashboard/DashboardFilterBar.ts     |     6 +-
 .../playwright/components/modals/SaveChartModal.ts |   130 +
 .../playwright/components/modals/index.ts          |     1 +
 superset-frontend/playwright/helpers/api/chart.ts  |    44 +
 .../playwright/helpers/api/dashboard.ts            |    37 +
 superset-frontend/playwright/pages/ExplorePage.ts  |    95 +
 .../playwright/tests/chart/chart-test-helpers.ts   |    24 +-
 .../tests/chart/handlebars-format-date.spec.ts     |     2 +-
 .../tests/dashboard/clear-all-filters.spec.ts      |   112 +
 .../tests/dashboard/gauge-interval-colors.spec.ts  |     2 +-
 .../mixed-chart-dashboard-filters.spec.ts          |     2 +-
 .../tests/embedded/pivot-collapse-state.spec.ts    |     2 +-
 .../playwright/tests/experimental/README.md        |   123 -
 .../explore/cross-referenced-dashboards.spec.ts    |   194 +
 .../tests/explore/explore-no-results.spec.ts       |    59 +
 .../playwright/tests/explore/explore-save.spec.ts  |   135 +
 .../tests/explore/explore-test-helpers.ts          |    50 +
 .../explore/results-tab-reuse.spec.ts              |    16 +-
 .../tests/mobile/mobile-dashboard.spec.ts          |    65 +-
 .../src/AgGridTable/components/CustomHeader.tsx    |     3 +-
 .../src/AgGridTable/index.tsx                      |   118 +-
 .../src/AgGridTableChart.tsx                       |     7 +-
 .../src/controlPanel.tsx                           |    33 +-
 .../src/styles/index.tsx                           |    28 +
 .../src/transformProps.ts                          |    24 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |     3 +
 .../src/utils/formatValue.ts                       |     3 +-
 .../src/utils/getCellStyle.ts                      |     8 +-
 .../src/utils/mainComparison.ts}                   |    40 +-
 .../src/utils/useColDefs.ts                        |    23 +-
 .../test/AgGridTableChart.test.tsx                 |   175 +
 .../test/controlPanel.test.ts                      |   107 +-
 .../test/controlPanel.test.tsx                     |    32 +-
 .../test/transformProps.test.ts                    |   198 +-
 .../test/utils/getCellStyle.test.ts                |    15 +
 .../test/utils/mainComparison.test.ts              |    43 +
 .../test/utils/useColDefs.test.ts                  |    40 +
 .../src/vendor/cal-heatmap.ts                      |    60 +-
 .../plugin-chart-calendar/test/cal-heatmap.test.ts |    40 +
 .../src/BigNumber/BigNumberViz.test.tsx            |   188 +-
 .../BigNumberWithTrendline/transformProps.test.ts  |    72 +
 .../src/Bubble/EchartsBubble.tsx                   |    16 +-
 .../src/Bubble/transformProps.ts                   |    31 +-
 .../src/Butterfly/Butterfly.tsx                    |    16 +-
 .../src/Butterfly/transformProps.ts                |    11 +-
 .../src/Candlestick/EchartsCandlestick.tsx         |   174 +
 .../EchartsPie.tsx => Candlestick/buildQuery.ts}   |    49 +-
 .../src/Candlestick/constants.ts                   |    61 +
 .../src/Candlestick/controlPanel.tsx               |   417 +
 .../src/Candlestick/images/example1-dark.png       |   Bin 0 -> 55933 bytes
 .../src/Candlestick/images/example1.png            |   Bin 0 -> 56139 bytes
 .../src/Candlestick/images/thumbnail-dark.png      |   Bin 0 -> 31389 bytes
 .../src/Candlestick/images/thumbnail.png           |   Bin 0 -> 31318 bytes
 .../plugin-chart-echarts/src/Candlestick/index.ts  |    65 +
 .../src/Candlestick/transformProps.ts              |   770 +
 .../plugin-chart-echarts/src/Candlestick/types.ts  |    84 +
 .../plugin-chart-echarts/src/Candlestick/utils.ts  |    91 +
 .../src/Funnel/EchartsFunnel.tsx                   |    19 +-
 .../src/Funnel/transformProps.ts                   |    15 +-
 .../src/Gantt/EchartsGantt.tsx                     |    23 +-
 .../plugin-chart-echarts/src/Gantt/constants.ts    |     9 +
 .../src/Gantt/transformProps.ts                    |    63 +-
 .../src/Graph/EchartsGraph.tsx                     |     8 +
 .../src/Graph/transformProps.ts                    |    11 +-
 .../src/Histogram/Histogram.tsx                    |    17 +-
 .../src/Histogram/transformProps.ts                |    10 +-
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |     9 +
 .../src/MixedTimeseries/transformProps.ts          |   107 +-
 .../plugin-chart-echarts/src/Pie/EchartsPie.tsx    |    19 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |    15 +-
 .../src/Radar/EchartsRadar.tsx                     |    19 +-
 .../src/Radar/transformProps.ts                    |    15 +-
 .../src/Timeseries/EchartsTimeseries.test.tsx      |   116 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |    48 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |    14 +-
 .../src/Timeseries/transformProps.ts               |   184 +-
 .../src/Timeseries/transformers.ts                 |    57 +-
 .../src/Waterfall/EchartsWaterfall.tsx             |    16 +-
 .../src/components/Echart.test.tsx                 |     1 +
 .../plugin-chart-echarts/src/components/Echart.tsx |     2 +
 .../plugins/plugin-chart-echarts/src/constants.ts  |    24 +-
 .../plugins/plugin-chart-echarts/src/index.ts      |     2 +
 .../plugin-chart-echarts/src/utils/formatters.ts   |     7 +
 .../src/utils/legendEventHandlers.test.ts          |   275 +
 .../src/utils/legendEventHandlers.ts               |   131 +
 .../plugin-chart-echarts/src/utils/series.ts       |   291 +-
 .../test/Butterfly/Butterfly.test.tsx              |    32 +-
 .../test/Candlestick/EchartsCandlestick.test.tsx   |   325 +
 .../test/Candlestick/buildQuery.test.ts            |    57 +
 .../test/Candlestick/controlPanel.test.ts          |   257 +
 .../test/Candlestick/transformProps.test.ts        |  1271 ++
 .../test/Candlestick/utils.test.ts                 |    53 +
 .../test/Gantt/transformProps.test.ts              |   261 +
 .../test/MixedTimeseries/transformProps.test.ts    |    26 +
 .../test/Timeseries/Bar/controlPanel.test.ts       |    62 +-
 .../Bar/sparseSubDailyBarGeometry.test.ts          |   505 +
 .../test/Timeseries/Bar/transformProps.test.ts     |   101 +-
 .../test/Timeseries/EchartsTimeseries.test.tsx     |    13 +-
 .../test/Timeseries/transformProps.test.ts         |   422 +
 .../test/Timeseries/transformers.test.ts           |    17 +
 .../test/Treemap/EchartsTreemap.test.tsx           |   123 +
 .../test/utils/eventHandlers.test.ts               |    74 +
 .../test/utils/formatters.test.ts                  |    37 +
 .../plugin-chart-echarts/test/utils/series.test.ts |   255 +-
 .../plugins/plugin-chart-handlebars/package.json   |     2 +-
 .../plugins/plugin-chart-pivot-table/package.json  |     2 +-
 .../plugin-chart-point-cluster-map/package.json    |     2 +-
 .../src/MapLibre.tsx                               |    62 +-
 .../test/MapLibre.test.tsx                         |    31 +
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    11 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |     5 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   210 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    38 +-
 .../plugin-chart-table/src/transformProps.ts       |    41 +-
 .../plugins/plugin-chart-table/src/types.ts        |     5 +
 .../src/utils/headerGroups.ts}                     |    22 +-
 .../test/DataTable/DataTable.test.tsx              |    64 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   414 +
 .../plugin-chart-table/test/buildQuery.test.ts     |    42 +
 .../plugin-chart-table/test/controlPanel.test.ts   |   199 +-
 .../plugin-chart-table/test/controlPanel.test.tsx  |    32 +-
 .../plugin-chart-table/test/headerGroups.test.ts   |   301 +
 .../plugin-chart-world-map/test/WorldMap.test.ts   |    14 +
 .../plugins/preset-chart-deckgl/package.json       |    27 +-
 .../src/DeckGLContainer.test.tsx                   |    95 +-
 .../preset-chart-deckgl/src/DeckGLContainer.tsx    |    17 +-
 .../src/components/DeckGLOverlayMapLibre.test.tsx  |    80 +
 .../src/components/DeckGLOverlayMapLibre.tsx       |     8 +-
 .../src/layers/Contour/Contour.tsx                 |     2 +-
 superset-frontend/scripts/check-custom-rules.js    |     4 -
 .../EchartsFunnel.tsx => scripts/po2json-cli.js}   |    37 +-
 superset-frontend/scripts/po2json.js               |    96 +
 superset-frontend/scripts/po2json.sh               |     6 +-
 .../spec/helpers/sourceTreeScanner.ts              |     1 -
 superset-frontend/spec/scripts/po2json.test.ts     |   130 +
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |    28 +-
 .../src/components/Chart/ChartRenderer.test.tsx    |    52 +-
 .../src/components/Chart/ChartRenderer.tsx         |    23 +-
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |    74 +-
 .../useDrillDetailMenuItems.test.tsx               |    26 +
 .../Datasource/DatasourceModal/index.tsx           |    19 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |   139 +-
 .../tests/DatasourceEditor.test.tsx                |    31 +
 .../FilterableTable/exactDecimals.test.tsx         |    92 +
 .../src/components/FilterableTable/index.tsx       |    41 +-
 .../components/FilterableTable/sortResults.test.ts |   238 +
 .../src/components/FilterableTable/sortResults.ts  |   180 +
 .../RowCountLabel/RowCountLabel.test.tsx           |    16 +-
 .../src/dashboard/actions/dashboardInfo.test.ts    |    71 +
 .../src/dashboard/actions/dashboardInfo.ts         |     1 +
 .../src/dashboard/actions/hydrate.test.ts          |   137 +-
 .../src/dashboard/components/Dashboard.test.tsx    |    13 +
 .../DashboardBuilder/DashboardContainer.tsx        |     7 +-
 .../dashboard/components/Header/Header.test.tsx    |   178 +-
 .../components/RefreshIntervalModal.test.tsx       |   151 +
 .../dashboard/components/RefreshIntervalModal.tsx  |     2 +-
 .../src/dashboard/components/SaveModal.test.tsx    |   178 +
 .../SliceHeaderControls.test.tsx                   |    43 +
 .../components/dnd/dragDroppableConfig.test.ts     |   270 +
 .../dashboard/components/dnd/handleDrop.test.ts    |   346 +
 .../components/gridComponents/Chart/Chart.test.tsx |    16 +
 .../components/gridComponents/Tabs/Tabs.test.tsx   |    52 +
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |   320 +-
 .../components/menu/DownloadMenuItems/index.tsx    |   126 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |   293 +-
 .../FilterControls.overflow.test.tsx               |    93 +-
 .../FilterBar/FilterControls/FilterValue.test.tsx  |    42 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    70 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |     6 +
 .../nativeFilters/FilterBar/keyValue.test.ts       |   147 +
 .../nativeFilters/FilterBar/state.test.ts          |   220 +
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   147 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |   103 +-
 .../hooks/useFilterOperations.test.ts              |   171 +-
 .../hooks/useModalSaveLogic.test.ts                |   118 +
 .../transformers/buildTarget.test.ts               |    44 +-
 .../FiltersConfigModal/transformers/buildTarget.ts |    37 +-
 .../transformers/customizationTransformer.ts       |    10 +-
 .../transformers/filterTransformer.ts              |    10 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |     2 +
 .../nativeFilters/FiltersConfigModal/utils.test.ts |    42 +
 .../components/nativeFilters/utils.test.ts         |    27 +
 .../dashboard/components/nativeFilters/utils.ts    |    13 +
 .../util/charts/getFormDataWithExtraFilters.ts     |   163 +-
 .../src/dashboard/util/crossFilters.test.ts        |    75 +
 .../src/dashboard/util/crossFilters.ts             |    23 +-
 .../util/getFormDataWithExtraFilters.test.ts       |   412 +-
 .../src/dashboard/util/getRelatedCharts.ts         |    32 +-
 superset-frontend/src/dataMask/reducer.test.ts     |    58 +
 superset-frontend/src/dataMask/reducer.ts          |    18 +
 .../src/explore/actions/exploreActions.ts          |    10 +
 .../src/explore/components/Control.test.tsx        |    36 +-
 .../src/explore/components/Control.tsx             |     3 +-
 .../components/ControlPanelsContainer.test.tsx     |   477 +-
 .../explore/components/ControlPanelsContainer.tsx  |   112 +-
 .../controls/AnnotationLayerControl/index.test.tsx |    84 +-
 .../ColorSchemeControl/ColorSchemeControl.test.tsx |    76 +
 .../ColumnConfigControl.test.tsx                   |    86 +
 .../ColumnConfigControl/ColumnConfigControl.tsx    |    24 +-
 .../controls/ColumnConfigControl/constants.tsx     |     3 +-
 .../controls/ComparisonRangeLabel.test.tsx         |   252 +
 .../DateFilterControl/tests/CommonFrame.test.tsx   |    72 +
 .../tests/DateFilterLabel.test.tsx                 |   193 +
 .../DateFilterControl/tests/DateLabel.test.tsx     |    73 +
 .../DndMetricSelect.test.tsx                       |    90 +
 .../AdhocFilterControl/AdhocFilterControl.test.tsx |   102 +-
 .../AdhocFilterEditPopover.test.tsx                |    55 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |    17 +
 .../index.tsx                                      |    27 +-
 .../HeaderGroupsControl/HeaderGroupEditor.tsx      |   567 +
 .../HeaderGroupsControl.test.tsx                   |   906 ++
 .../HeaderGroupsControl/HeaderGroupsControl.tsx    |   289 +
 .../controls/HeaderGroupsControl/index.ts}         |    14 +-
 .../controls/HeaderGroupsControl/types.ts}         |    44 +-
 .../controls/HeaderGroupsControl/utils.test.ts     |   388 +
 .../controls/HeaderGroupsControl/utils.ts          |   215 +
 .../MatrixifyControl/utils/fetchTopNValues.test.ts |   165 +
 .../controls/MatrixifyDimensionControl.test.tsx    |   139 +-
 .../controls/MatrixifyDimensionControl.tsx         |    26 +-
 .../AdhocMetricPopoverTrigger.test.tsx             |   278 +
 .../components/controls/SelectControl.test.tsx     |    55 +
 .../src/explore/components/controls/index.ts       |     2 +
 .../src/explore/controlPanels/sections.tsx         |     7 +
 .../controlUtils/getSectionsToRender.test.ts       |   179 +
 .../controlUtils/standardizedFormData.test.ts      |    29 +
 .../explore/controlUtils/standardizedFormData.ts   |     4 +
 .../explore/reducers/datasourcesReducer.test.ts    |   171 +
 .../src/explore/reducers/exploreReducer.test.ts    |   269 +-
 .../src/explore/reducers/exploreReducer.ts         |    29 +-
 .../src/explore/reducers/saveModalReducer.test.ts  |   184 +
 .../datasets/AddDataset/Footer/Footer.test.tsx     |     5 +-
 superset-frontend/src/features/home/Menu.test.tsx  |    19 +
 .../semanticViews/AddSemanticViewModal.test.tsx    |    22 +
 .../src/features/userInfo/UserInfoModal.test.tsx   |    62 +-
 .../src/features/userInfo/UserInfoModal.tsx        |    26 +-
 .../src/features/users/UserListModal.test.tsx      |   178 +
 .../src/features/users/UserListModal.tsx           |   108 +-
 superset-frontend/src/features/users/utils.ts      |     8 +-
 .../versionHistory/VersionHistoryPanel.tsx         |    16 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |    41 +
 .../components/Time/TimeFilterPlugin.test.tsx      |    40 +-
 .../TimeColumnFilterPlugin.test.tsx}               |    67 +-
 .../DatabaseList.datasetDependents.test.tsx        |   289 +
 superset-frontend/src/pages/DatabaseList/index.tsx |   108 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |    47 +-
 superset-frontend/src/pages/Home/index.tsx         |    20 +-
 superset-frontend/src/pages/Login/Login.test.tsx   |   152 +-
 superset-frontend/src/pages/Login/index.tsx        |    45 +-
 superset-frontend/src/preamble.test.ts             |    29 +-
 superset-frontend/src/preamble.ts                  |    10 +-
 superset-frontend/src/setup/setupApp.ts            |    16 +-
 superset-frontend/src/types/bootstrapTypes.ts      |     1 +
 superset-frontend/src/utils/colorScheme.test.ts    |   230 +
 .../src/utils/downloadAsImage.test.ts              |   276 +
 superset-frontend/src/utils/downloadAsImage.tsx    |   113 +-
 .../src/utils/semanticViewStructure.test.ts        |    13 +
 .../src/utils/semanticViewStructure.ts             |    15 +-
 superset-frontend/src/utils/softDeleteCopy.test.ts |    11 +
 superset-frontend/src/utils/softDeleteCopy.ts      |    14 +
 .../src/visualizations/presets/MainPreset.ts       |     4 +
 superset-frontend/webpack.config.js                |     1 -
 superset-websocket/package-lock.json               |   384 +-
 superset-websocket/package.json                    |     8 +-
 superset/annotation_layers/schemas.py              |    21 +
 superset/charts/api.py                             |     8 +
 superset/charts/client_processing.py               |     9 +-
 superset/charts/data/api.py                        |    65 +-
 superset/charts/schemas.py                         |    21 +-
 superset/cli/deletion_retention.py                 |    20 +-
 superset/commands/annotation_layer/exceptions.py   |     5 +
 superset/commands/annotation_layer/export.py       |   109 +
 .../annotation_layer/importers}/__init__.py        |     0
 .../annotation_layer/importers/dispatcher.py       |    74 +
 .../annotation_layer/importers/v1/__init__.py      |    54 +
 .../annotation_layer/importers/v1/utils.py         |    73 +
 superset/commands/chart/export.py                  |   251 +-
 superset/commands/chart/importers/v1/__init__.py   |    99 +-
 superset/commands/chart/importers/v1/utils.py      |   381 +-
 superset/commands/dashboard/export.py              |     8 +-
 superset/commands/dashboard/export_example.py      |    31 +
 .../commands/dashboard/importers/v1/__init__.py    |    89 +-
 superset/commands/database/exceptions.py           |     5 +
 superset/commands/database/oauth2.py               |    27 +-
 superset/commands/database/tables.py               |    41 +-
 superset/commands/database/update.py               |    34 +-
 superset/commands/dataset/refresh.py               |     5 +
 superset/commands/dataset/update.py                |    19 +-
 superset/commands/deletion_retention/window.py     |    77 +-
 superset/commands/export/assets.py                 |    10 +-
 superset/commands/importers/v1/__init__.py         |    16 +-
 superset/commands/importers/v1/assets.py           |    74 +-
 superset/commands/importers/v1/examples.py         |    19 +
 superset/commands/importers/v1/utils.py            |    14 +-
 superset/commands/report/alert.py                  |    12 +-
 superset/commands/report/base.py                   |    10 +-
 superset/commands/sql_lab/estimate.py              |    10 +-
 superset/commands/sql_lab/export.py                |    14 +
 superset/commands/streaming_export/base.py         |    11 +-
 superset/commands/version_restore.py               |     9 +-
 superset/common/query_context_factory.py           |    36 +
 superset/common/query_context_processor.py         |    21 +-
 superset/common/query_object.py                    |    49 +-
 superset/common/tabular_query.py                   |     8 +-
 superset/common/utils/query_cache_manager.py       |     2 +
 superset/config.py                                 |   244 +-
 superset/connectors/sqla/models.py                 |    11 +-
 superset/constants.py                              |     9 +
 superset/core/mcp/core_mcp_injection.py            |    24 +-
 superset/daos/base.py                              |     9 +-
 superset/daos/dashboard.py                         |    58 +-
 superset/daos/database.py                          |    43 +-
 superset/daos/dataset.py                           |    31 +-
 superset/daos/datasource.py                        |     2 +-
 superset/dashboards/api.py                         |   274 +-
 superset/dashboards/excel_export/email.py          |    17 +-
 superset/dashboards/excel_export/storage.py        |    81 +
 superset/dashboards/excel_export/sync_budget.py    |   272 +
 superset/dashboards/excel_export/workbook.py       |   324 +
 superset/dashboards/filters.py                     |    22 +-
 superset/databases/api.py                          |    37 +-
 superset/databases/schemas.py                      |    15 +
 superset/dataframe.py                              |   133 +-
 superset/datasets/api.py                           |     5 +
 superset/datasets/schemas.py                       |     3 +-
 superset/datasource/api.py                         |    52 +-
 superset/datasource/schemas.py                     |     9 +
 superset/db_engine_specs/__init__.py               |    31 +-
 superset/db_engine_specs/aurora.py                 |    79 +
 superset/db_engine_specs/base.py                   |    80 +-
 superset/db_engine_specs/bigquery.py               |    39 +-
 superset/db_engine_specs/clickhouse.py             |    22 +-
 superset/db_engine_specs/crate.py                  |    35 +-
 superset/db_engine_specs/d1.py                     |   142 +-
 superset/db_engine_specs/databend.py               |     2 +-
 superset/db_engine_specs/databricks.py             |   234 +-
 superset/db_engine_specs/datafusion.py             |    34 +-
 superset/db_engine_specs/db2.py                    |    12 +-
 superset/db_engine_specs/doris.py                  |   132 +-
 superset/db_engine_specs/duckdb.py                 |    39 +
 superset/db_engine_specs/dynamodb.py               |    24 +-
 superset/db_engine_specs/elasticsearch.py          |    84 +-
 superset/db_engine_specs/exasol.py                 |    76 +
 superset/db_engine_specs/gsheets.py                |   141 +-
 superset/db_engine_specs/ibmi.py                   |    24 +
 superset/db_engine_specs/impala.py                 |    21 +
 superset/db_engine_specs/kusto.py                  |    35 +
 superset/db_engine_specs/kylin.py                  |    50 +-
 superset/db_engine_specs/mssql.py                  |     2 -
 superset/db_engine_specs/mysql.py                  |   349 +
 superset/db_engine_specs/oracle.py                 |   118 +-
 superset/db_engine_specs/pinot.py                  |     7 +
 superset/db_engine_specs/postgres.py               |    48 +-
 superset/db_engine_specs/snowflake.py              |    12 +-
 superset/db_engine_specs/starrocks.py              |    12 +-
 superset/db_engine_specs/trino.py                  |    18 +
 superset/exceptions.py                             |    41 +
 superset/extensions/__init__.py                    |     6 +-
 superset/extensions/metastore_cache.py             |    35 +-
 superset/initialization/__init__.py                |     3 +-
 superset/jinja_context.py                          |    12 +-
 superset/mcp_service/app.py                        |    23 +-
 superset/mcp_service/auth.py                       |   140 +-
 superset/mcp_service/caching.py                    |    65 +-
 .../mcp_service/catalog}/__init__.py               |     0
 superset/mcp_service/catalog/schemas.py            |   131 +
 .../mcp_service/catalog/tool/__init__.py           |    14 +-
 superset/mcp_service/catalog/tool/get_catalog.py   |   443 +
 superset/mcp_service/chart/chart_helpers.py        |   167 +-
 superset/mcp_service/chart/chart_utils.py          |   130 +-
 superset/mcp_service/chart/compile.py              |    19 +-
 superset/mcp_service/chart/plugin.py               |   222 +-
 superset/mcp_service/chart/plugins/big_number.py   |    55 +-
 superset/mcp_service/chart/plugins/bubble.py       |    29 +-
 superset/mcp_service/chart/plugins/gantt.py        |    79 +-
 superset/mcp_service/chart/plugins/gauge.py        |    63 +-
 superset/mcp_service/chart/plugins/handlebars.py   |     4 +
 superset/mcp_service/chart/plugins/histogram.py    |    98 +-
 .../mcp_service/chart/plugins/mixed_timeseries.py  |    43 +
 superset/mcp_service/chart/plugins/table.py        |     1 +
 superset/mcp_service/chart/plugins/treemap.py      |   141 +-
 superset/mcp_service/chart/plugins/waterfall.py    |    35 +
 superset/mcp_service/chart/preview_utils.py        |   241 +-
 .../chart/prompts/create_chart_guided.py           |     4 +-
 superset/mcp_service/chart/query_result.py         |    19 +-
 superset/mcp_service/chart/registry.py             |    49 +-
 superset/mcp_service/chart/schemas.py              |   146 +-
 superset/mcp_service/chart/tool/generate_chart.py  |     7 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    29 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    18 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   128 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |     9 +-
 .../chart/tool/get_chart_type_schema.py            |     4 +-
 superset/mcp_service/chart/tool/list_charts.py     |   118 +-
 superset/mcp_service/chart/tool/update_chart.py    |    65 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    52 +-
 .../chart/validation/dataset_validator.py          |     6 +-
 superset/mcp_service/common/schema_discovery.py    |     2 +-
 superset/mcp_service/composite_token_verifier.py   |    26 +-
 superset/mcp_service/dashboard/schemas.py          |   139 +-
 .../mcp_service/dashboard/tool/delete_dashboard.py |     2 +-
 .../dashboard/tool/get_dashboard_layout.py         |   161 +-
 superset/mcp_service/dashboard_scope.py            |  1365 ++
 superset/mcp_service/dashboard_scope_sql.py        |   516 +
 superset/mcp_service/dataset/schemas.py            |   344 +-
 superset/mcp_service/dataset/tool/__init__.py      |    10 +
 .../dataset/tool/create_dataset_metric.py          |   172 +
 .../mcp_service/dataset/tool/delete_dataset.py     |   217 +
 .../dataset/tool/delete_dataset_metric.py          |   246 +
 superset/mcp_service/dataset/tool/list_datasets.py |     7 +-
 .../mcp_service/dataset/tool/restore_dataset.py    |   258 +
 .../mcp_service/dataset/tool/update_dataset.py     |   340 +
 .../explore/tool/generate_explore_link.py          |     2 +-
 superset/mcp_service/mcp_config.py                 |    30 +
 superset/mcp_service/middleware.py                 |   204 +-
 superset/mcp_service/privacy.py                    |     1 +
 superset/mcp_service/semantic_layer/schemas.py     |     9 +
 .../semantic_layer/tool/get_compatible_metrics.py  |     3 +
 .../mcp_service/semantic_layer/tool/get_table.py   |    51 +-
 .../semantic_layer/tool/list_metrics.py            |     3 +
 superset/mcp_service/server.py                     |    84 +-
 superset/mcp_service/sql_lab/schemas.py            |    10 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |     1 +
 superset/mcp_service/system/prompts/quickstart.py  |     4 +-
 .../system/resources/instance_metadata.py          |    37 +-
 superset/mcp_service/system/system_utils.py        |    33 +-
 .../mcp_service/system/tool/get_instance_info.py   |    38 +-
 superset/mcp_service/system/tool/get_schema.py     |     7 +-
 superset/mcp_service/system/tool/health_check.py   |     5 +-
 superset/mcp_service/utils/response_size_utils.py  |   181 +
 superset/mcp_service/utils/validation.py           |   218 +
 superset/mcp_service/worker.py                     |   897 ++
 .../migrations/shared/migrate_viz/processors.py    |     6 +-
 superset/migrations/shared/utils.py                |     2 +-
 ..._add_uuid_to_annotation_layer_and_annotation.py |   144 +
 superset/models/annotations.py                     |    19 +-
 superset/models/core.py                            |   282 +-
 superset/models/helpers.py                         |   107 +-
 superset/models/slice.py                           |     7 +-
 superset/models/sql_lab.py                         |    29 +-
 superset/reports/schemas.py                        |    41 +
 superset/result_set.py                             |    11 +
 superset/security/manager.py                       |   188 +-
 superset/security/password_change.py               |    63 +-
 superset/semantic_layers/api.py                    |     3 +
 .../semantic_layers/bundle_schemas.py              |    28 +-
 superset/semantic_layers/import_export.py          |   240 +
 superset/semantic_layers/mapper.py                 |     6 +
 superset/semantic_layers/models.py                 |     3 +
 superset/sql/dialects/db2.py                       |    81 +-
 superset/sql/execution/cancellation.py             |   170 +
 superset/sql/execution/celery_task.py              |     3 +-
 superset/sql/execution/executor.py                 |   147 +-
 superset/sql/parse.py                              |   580 +-
 superset/sql_lab.py                                |     7 +-
 superset/sqllab/api.py                             |     7 +
 superset/subjects/utils.py                         |    40 +-
 superset/superset_typing.py                        |    11 +
 superset/tasks/deletion_retention.py               |    65 +-
 superset/tasks/export_dashboard_excel.py           |   384 +-
 superset/tasks/query_cancel.py                     |     9 +-
 superset/tasks/version_history_retention.py        |    33 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   680 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |   621 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   549 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   346 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   324 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   352 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |   678 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   655 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   352 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   360 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |   330 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   784 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |   565 +-
 superset/translations/messages.pot                 |  2763 ++--
 superset/translations/mi/LC_MESSAGES/messages.po   |   614 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   696 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |   736 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   356 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   677 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |   354 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   347 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   553 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   351 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |   353 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |   353 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |   638 +-
 superset/translations/th/LC_MESSAGES/messages.po   |   630 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   372 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   566 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   381 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   616 +-
 superset/utils/core.py                             |    39 +-
 superset/utils/csv.py                              |    10 +
 superset/utils/database.py                         |    76 +-
 superset/utils/date_parser.py                      |     2 +-
 superset/utils/dict_import_export.py               |     7 +
 superset/utils/excel.py                            |    83 +-
 superset/utils/number_format.py                    |    10 +-
 superset/utils/oauth2.py                           |   136 +-
 superset/utils/pandas_postprocessing/pivot.py      |    51 +-
 superset/utils/rls.py                              |   103 +-
 superset/versioning/api_helpers.py                 |    38 +-
 superset/versioning/baseline/listener.py           |     3 +-
 superset/versioning/changes/listener.py            |     7 +
 superset/versioning/queries.py                     |     4 +-
 superset/versioning/restore.py                     |   225 +-
 superset/versioning/snapshot.py                    |   275 +
 superset/versioning/unit_of_work.py                |    54 +
 superset/versioning/utils.py                       |    40 +-
 superset/views/auth.py                             |    11 +-
 superset/views/base.py                             |     7 +-
 superset/views/users/api.py                        |    29 +-
 superset/views/users/schemas.py                    |    39 +-
 superset/views/utils.py                            |     2 +-
 .../annotation_layers/commands_tests.py            |   750 +
 tests/integration_tests/charts/commands_tests.py   |  1515 ++
 .../charts/semantic_save_tests.py                  |    82 +-
 tests/integration_tests/commands_test.py           |    58 +
 tests/integration_tests/core_tests.py              |    30 +-
 tests/integration_tests/dashboards/api_tests.py    |   572 +-
 .../integration_tests/dashboards/commands_tests.py |   585 +
 tests/integration_tests/databases/api_tests.py     |   108 +-
 .../integration_tests/databases/commands_tests.py  |    19 +-
 tests/integration_tests/fixtures/importexport.py   |   104 +
 tests/integration_tests/reports/api_tests.py       |    75 +
 .../security/row_level_security_tests.py           |   110 +
 .../versioning/activity_write_after_read_tests.py  |     3 +-
 .../versioning/conditional_token_lock_tests.py     |    10 +-
 .../versioning/creation_row_tests.py               |    17 +-
 .../versioning/restore_fails_closed_tests.py       |    12 +-
 .../versioning/retention_prune_tests.py            |     2 +-
 .../versioning/versions_api_tests.py               |   108 +-
 .../db_engine_specs/test_databend.py               |    43 +-
 .../charts/commands/importers/v1/import_test.py    |    32 +-
 .../charts/commands/importers/v1/utils_test.py     |    28 +-
 .../unit_tests/charts/data/test_non_dict_params.py |   116 +
 tests/unit_tests/charts/test_chart_data_api.py     |   197 +
 tests/unit_tests/charts/test_client_processing.py  |    55 +
 tests/unit_tests/cli/deletion_retention_test.py    |    30 +-
 .../commands/chart/semantic_export_test.py         |   127 +
 .../dashboard/export_example_semantic_test.py      |   175 +
 tests/unit_tests/commands/databases/oauth2_test.py |    73 +-
 tests/unit_tests/commands/databases/tables_test.py |   165 +
 tests/unit_tests/commands/databases/update_test.py |   114 +
 tests/unit_tests/commands/dataset/refresh_test.py  |    27 +-
 tests/unit_tests/commands/export_test.py           |    51 +
 .../commands/importers/v1/assets_test.py           |     4 +-
 .../commands/importers/v1/import_models_test.py    |    93 +
 .../unit_tests/commands/importers/v1/utils_test.py |   134 +-
 tests/unit_tests/commands/report/alert_test.py     |    37 +
 tests/unit_tests/commands/report/create_test.py    |    36 +
 tests/unit_tests/commands/sql_lab/export_test.py   |   113 +
 .../sql_lab/streaming_export_command_test.py       |    74 +
 tests/unit_tests/commands/sql_lab/test_estimate.py |    30 +
 .../common/test_query_context_factory.py           |   201 +
 .../common/test_query_context_processor.py         |    87 +-
 tests/unit_tests/config_test.py                    |   286 +-
 tests/unit_tests/conftest.py                       |    13 +-
 tests/unit_tests/connectors/sqla/models_test.py    |    55 +-
 tests/unit_tests/connectors/sqla/utils_test.py     |    34 +
 tests/unit_tests/dao/base_dao_test.py              |    29 +-
 tests/unit_tests/dao/dashboard_test.py             |   247 +-
 .../unit_tests/daos/test_dataset_dao.py            |    26 +-
 tests/unit_tests/dashboards/datasets_test.py       |     1 +
 .../dashboards/semantic_view_access_test.py        |    68 +-
 .../dashboards/test_excel_export_email.py          |    19 +
 .../dashboards/test_excel_export_storage.py        |   178 +
 .../dashboards/test_excel_export_sync_budget.py    |   563 +
 .../dashboards/test_excel_export_workbook.py       |   146 +
 tests/unit_tests/databases/api_test.py             |   218 +-
 .../databases/dao/related_objects_test.py          |   122 +
 tests/unit_tests/databases/oauth2_api_test.py      |    32 +-
 tests/unit_tests/dataframe_test.py                 |   258 +-
 tests/unit_tests/datasets/schema_tests.py          |     1 +
 tests/unit_tests/datasource/dao_tests.py           |    16 +
 tests/unit_tests/db_engine_specs/test_base.py      |   137 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |    87 +-
 tests/unit_tests/db_engine_specs/test_crate.py     |    83 +-
 tests/unit_tests/db_engine_specs/test_d1.py        |   337 +
 .../unit_tests/db_engine_specs/test_databricks.py  |   272 +-
 .../unit_tests/db_engine_specs/test_datafusion.py  |    32 +-
 tests/unit_tests/db_engine_specs/test_db2.py       |    52 +-
 tests/unit_tests/db_engine_specs/test_doris.py     |   381 +-
 tests/unit_tests/db_engine_specs/test_duckdb.py    |   145 +
 tests/unit_tests/db_engine_specs/test_dynamodb.py  |    88 +-
 .../db_engine_specs/test_elasticsearch.py          |   185 +-
 tests/unit_tests/db_engine_specs/test_exasol.py    |   191 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   469 +-
 tests/unit_tests/db_engine_specs/test_impala.py    |   109 +
 tests/unit_tests/db_engine_specs/test_init.py      |   143 +
 tests/unit_tests/db_engine_specs/test_kylin.py     |    50 +
 tests/unit_tests/db_engine_specs/test_mariadb.py   |    83 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |   741 +
 tests/unit_tests/db_engine_specs/test_oracle.py    |   111 +-
 tests/unit_tests/db_engine_specs/test_postgres.py  |    16 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |    47 +
 tests/unit_tests/db_engine_specs/test_starrocks.py |    73 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    17 +
 .../unit_tests/extensions/metastore_cache_test.py  |    93 +
 tests/unit_tests/initialization/init_views_test.py |   113 +
 tests/unit_tests/jinja_context_test.py             |    31 +
 .../unit_tests/mcp_service/catalog}/__init__.py    |     0
 .../mcp_service/catalog/tool}/__init__.py          |     0
 .../mcp_service/catalog/tool/test_get_catalog.py   |   934 ++
 .../mcp_service/chart/test_chart_examples.py       |     3 +-
 .../mcp_service/chart/test_chart_helpers.py        |   113 +
 .../chart/test_chart_plugin_contract.py            |   762 +
 .../mcp_service/chart/test_chart_utils.py          |    55 +
 .../mcp_service/chart/test_gantt_chart.py          |    21 +-
 .../mcp_service/chart/test_gauge_chart.py          |     3 +-
 .../chart/test_histogram_boxplot_charts.py         |    62 +
 .../chart/test_live_chart_datasource.py            |   709 +
 .../mcp_service/chart/test_preview_utils.py        |   191 +
 .../unit_tests/mcp_service/chart/test_registry.py  |    56 +-
 .../mcp_service/chart/test_registry_filters.py     |     9 +
 .../mcp_service/chart/test_treemap_completeness.py |    76 +-
 .../mcp_service/chart/tool/test_generate_chart.py  |    57 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |    38 +
 .../chart/tool/test_get_chart_preview.py           |    37 +
 .../chart/tool/test_get_chart_type_schema.py       |    10 +
 .../mcp_service/chart/tool/test_list_charts.py     |     4 +-
 .../mcp_service/chart/tool/test_update_chart.py    |    43 +-
 .../chart/tool/test_update_chart_preview.py        |    52 +-
 .../dashboard/test_dashboard_schemas.py            |    18 +
 .../dashboard/tool/test_duplicate_dashboard.py     |    21 +-
 .../dashboard/tool/test_get_dashboard_datasets.py  |    13 +-
 .../dashboard/tool/test_get_dashboard_layout.py    |   744 +-
 .../dataset/tool/test_create_dataset.py            |     1 +
 .../dataset/tool/test_dataset_metric_mutations.py  |   542 +
 .../mcp_service/dataset/tool/test_dataset_tools.py |    14 +
 .../dataset/tool/test_delete_dataset.py            |   340 +
 .../tool/test_list_datasets_deleted_state.py       |   206 +
 .../mcp_service/dataset/tool/test_query_dataset.py |    12 +-
 .../dataset/tool/test_restore_dataset.py           |   384 +
 .../dataset/tool/test_update_dataset.py            |   574 +
 .../dataset/tool/test_update_dataset_metric.py     |    13 +
 .../explore/tool/test_generate_explore_link.py     |    25 +
 .../tool/test_get_compatible_metrics.py            |    14 +-
 .../semantic_layer/tool/test_get_table.py          |    39 +
 .../semantic_layer/tool/test_list_metrics.py       |    10 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |    22 +-
 .../system/resources/test_instance_metadata.py     |   144 +
 .../system/tool/test_get_current_user.py           |     6 +-
 .../mcp_service/test_auth_user_resolution.py       |    48 +-
 .../mcp_service/test_chart_tool_inventory.py       |   236 +-
 .../mcp_service/test_composite_token_verifier.py   |   105 +-
 .../unit_tests/mcp_service/test_dashboard_scope.py |  1502 ++
 .../mcp_service/test_dashboard_scope_sql.py        |   674 +
 .../mcp_service/test_error_classification.py       |    11 +-
 .../test_isdigit_isdecimal_regression.py           |   149 +
 tests/unit_tests/mcp_service/test_mcp_caching.py   |    67 +-
 .../unit_tests/mcp_service/test_mcp_docstrings.py  |   128 +
 .../mcp_service/test_mcp_tool_registration.py      |    14 +
 tests/unit_tests/mcp_service/test_middleware.py    |    25 +-
 .../mcp_service/test_rbac_tool_enforcement.py      |    30 +
 .../test_sanitization_warning_inputs.py            |    80 +
 .../unit_tests/mcp_service/test_tool_inventory.py  |    91 +-
 .../mcp_service/test_tool_search_transform.py      |   412 +-
 .../mcp_service/test_validation_contract.py        |   511 +
 tests/unit_tests/mcp_service/test_worker.py        |   878 ++
 .../mcp_service/test_worker_metadata_pool.py       |  1000 ++
 .../unit_tests/migrations/viz/table_v1_v2_test.py  |    42 +
 tests/unit_tests/models/core_test.py               |   600 +-
 .../unit_tests/models/helpers_rls_rollback_test.py |    80 +
 tests/unit_tests/models/helpers_test.py            |   110 +-
 .../models/select_alias_shadowing_test.py          |   184 +
 tests/unit_tests/models/slice_test.py              |    28 +
 .../models/test_virtual_dataset_format.py          |    62 +-
 .../unit_tests/pandas_postprocessing/test_pivot.py |   339 +
 tests/unit_tests/reports/schemas_test.py           |    83 +
 tests/unit_tests/result_set_test.py                |    93 +
 tests/unit_tests/scripts/change_detector_test.py   |    87 +
 .../scripts/docker_release_target_test.py          |   177 +
 .../scripts/translations/babel_update_test.py      |   355 +
 .../scripts/translations/check_pot_drift_test.py   |    82 +
 tests/unit_tests/security/guest_rls_test.py        |   228 +-
 tests/unit_tests/security/manager_test.py          |   318 +-
 tests/unit_tests/security/test_password_change.py  |   106 +-
 .../security/test_permission_instructions_link.py  |     4 +-
 .../test_superset_user_api_subject_sync.py         |    23 +
 tests/unit_tests/semantic_layers/api_test.py       |    10 +-
 .../semantic_layers/import_export_test.py          |   921 ++
 tests/unit_tests/semantic_layers/mapper_test.py    |     5 +
 tests/unit_tests/semantic_layers/models_test.py    |     2 +
 .../semantic_layers/selection_identity_test.py     |   293 +
 .../semantic_layers/values_endpoint_test.py        |    21 +-
 tests/unit_tests/sql/dialects/db2_tests.py         |    20 +
 tests/unit_tests/sql/execution/conftest.py         |     3 +
 .../unit_tests/sql/execution/test_cancellation.py  |   165 +
 tests/unit_tests/sql/execution/test_celery_task.py |    42 +
 tests/unit_tests/sql/execution/test_executor.py    |   899 +-
 tests/unit_tests/sql/parse_tests.py                |   600 +
 tests/unit_tests/sql_lab_test.py                   |    88 +
 tests/unit_tests/sqllab/api_test.py                |    45 +
 tests/unit_tests/subjects/test_utils.py            |    80 +
 tests/unit_tests/tasks/test_deletion_retention.py  |   377 +-
 .../tasks/test_export_dashboard_excel.py           |   128 +-
 .../tasks/test_version_history_retention.py        |   223 +-
 .../sk_sql_lab_progress_message_test.py            |    64 +
 tests/unit_tests/utils/excel_tests.py              |    38 +-
 tests/unit_tests/utils/number_format_test.py       |    26 +
 tests/unit_tests/utils/oauth2_tests.py             |   190 +
 tests/unit_tests/utils/rls_test.py                 |    36 +
 tests/unit_tests/utils/test_core.py                |    46 +-
 tests/unit_tests/utils/test_database.py            |   110 +-
 .../unit_tests/versioning/test_api_feature_flag.py |   167 +
 .../versioning/test_capture_gap_restore.py         |   809 +
 tests/unit_tests/versioning/test_listener.py       |    88 +-
 tests/unit_tests/versioning/test_restore.py        |    78 +-
 .../unit_tests/versioning/test_runtime_capture.py  |   396 +
 tests/unit_tests/views/test_auth_login.py          |    77 +
 tests/unit_tests/views/test_bootstrap_auth.py      |    20 +
 tests/unit_tests/views/test_current_user_api.py    |   126 +-
 .../views/test_current_user_auth_errors.py         |   122 +
 875 files changed, 94391 insertions(+), 28567 deletions(-)
 delete mode 160000 .github/actions/chart-testing-action
 create mode 100644 .github/workflows/python-nightly-canary.yml
 delete mode 100644 .github/workflows/superset-playwright.yml
 create mode 100644 .grype.yaml
 create mode 100644 docs/admin_docs/configuration/google-sheets.mdx
 create mode 100644 docs/docs/using-superset/semantic-member-selections.mdx
 create mode 100644 docs/static/img/version-history/recently-archived.jpg
 create mode 100644 docs/static/img/version-history/version-history-panel.jpg
 create mode 100644 docs/static/img/version-history/version-history-preview.jpg
 delete mode 100644 scripts/cypress_run.py
 create mode 100644 scripts/docker_release_target.py
 create mode 100644 superset-embedded-sdk/testrig/README.md
 create mode 100644 superset-embedded-sdk/testrig/drive.mjs
 create mode 100644 superset-embedded-sdk/testrig/embedded.html
 create mode 100644 superset-embedded-sdk/testrig/host.html
 create mode 100644 superset-embedded-sdk/testrig/server.mjs
 delete mode 100644 superset-frontend/cypress-base/.gitignore
 delete mode 100644 superset-frontend/cypress-base/cypress.config.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/chart.test.js
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/explore/utils.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/shared.helper.js
 delete mode 100644 superset-frontend/cypress-base/cypress/fixtures/charts.json
 delete mode 100644 
superset-frontend/cypress-base/cypress/fixtures/dashboards.json
 delete mode 100644 superset-frontend/cypress-base/cypress/support/e2e.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/support/index.d.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/index.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/utils/parsePostForm.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/vizPlugins.ts
 delete mode 100644 superset-frontend/cypress-base/package-lock.json
 delete mode 100644 superset-frontend/cypress-base/package.json
 delete mode 100644 superset-frontend/cypress-base/tsconfig.json
 delete mode 100755 superset-frontend/cypress_build.sh
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/src/utils/headerGroups.test.ts
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/src/utils/headerGroups.ts
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/query/semanticSelection.ts
 create mode 100644 superset-frontend/playwright/components/core/Radio.ts
 create mode 100644 
superset-frontend/playwright/components/modals/SaveChartModal.ts
 delete mode 100644 superset-frontend/playwright/tests/experimental/README.md
 create mode 100644 
superset-frontend/playwright/tests/explore/cross-referenced-dashboards.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/explore/explore-no-results.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/explore/explore-save.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/explore/explore-test-helpers.ts
 rename superset-frontend/playwright/tests/{experimental => 
}/explore/results-tab-reuse.spec.ts (87%)
 rename superset-frontend/{cypress-base/.eslintrc => 
plugins/plugin-chart-ag-grid-table/src/utils/mainComparison.ts} (53%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/mainComparison.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/EchartsCandlestick.tsx
 copy superset-frontend/plugins/plugin-chart-echarts/src/{Pie/EchartsPie.tsx => 
Candlestick/buildQuery.ts} (50%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/constants.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/controlPanel.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/example1-dark.png
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/example1.png
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/thumbnail-dark.png
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/thumbnail.png
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/index.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/transformProps.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/types.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/utils.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/utils/legendEventHandlers.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/utils/legendEventHandlers.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/EchartsCandlestick.test.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/buildQuery.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/controlPanel.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/transformProps.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/utils.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Bar/sparseSubDailyBarGeometry.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/Treemap/EchartsTreemap.test.tsx
 copy superset-frontend/plugins/{plugin-chart-echarts/src/Gantt/constants.ts => 
plugin-chart-table/src/utils/headerGroups.ts} (69%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-table/test/headerGroups.test.ts
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/components/DeckGLOverlayMapLibre.test.tsx
 copy 
superset-frontend/{plugins/plugin-chart-echarts/src/Funnel/EchartsFunnel.tsx => 
scripts/po2json-cli.js} (55%)
 create mode 100644 superset-frontend/scripts/po2json.js
 create mode 100644 superset-frontend/spec/scripts/po2json.test.ts
 create mode 100644 
superset-frontend/src/components/FilterableTable/exactDecimals.test.tsx
 create mode 100644 
superset-frontend/src/components/FilterableTable/sortResults.test.ts
 create mode 100644 
superset-frontend/src/components/FilterableTable/sortResults.ts
 create mode 100644 
superset-frontend/src/dashboard/actions/dashboardInfo.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/RefreshIntervalModal.test.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/SaveModal.test.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/dnd/dragDroppableConfig.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/dnd/handleDrop.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/keyValue.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/state.test.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useModalSaveLogic.test.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/ColumnConfigControl/ColumnConfigControl.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/ComparisonRangeLabel.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/DateFilterControl/tests/CommonFrame.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/DateFilterControl/tests/DateLabel.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupEditor.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupsControl.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupsControl.tsx
 rename superset-frontend/{cypress-base/cypress/utils/urls.ts => 
src/explore/components/controls/HeaderGroupsControl/index.ts} (75%)
 copy 
superset-frontend/{plugins/plugin-chart-echarts/src/Funnel/EchartsFunnel.tsx => 
src/explore/components/controls/HeaderGroupsControl/types.ts} (52%)
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/utils.test.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/utils.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/MatrixifyControl/utils/fetchTopNValues.test.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricPopoverTrigger.test.tsx
 create mode 100644 
superset-frontend/src/explore/controlUtils/getSectionsToRender.test.ts
 create mode 100644 
superset-frontend/src/explore/reducers/datasourcesReducer.test.ts
 create mode 100644 
superset-frontend/src/explore/reducers/saveModalReducer.test.ts
 create mode 100644 superset-frontend/src/features/users/UserListModal.test.tsx
 copy superset-frontend/src/filters/components/{Time/TimeFilterPlugin.test.tsx 
=> TimeColumn/TimeColumnFilterPlugin.test.tsx} (56%)
 create mode 100644 
superset-frontend/src/pages/DatabaseList/DatabaseList.datasetDependents.test.tsx
 create mode 100644 superset-frontend/src/utils/colorScheme.test.ts
 create mode 100644 superset/commands/annotation_layer/export.py
 copy {scripts => superset/commands/annotation_layer/importers}/__init__.py 
(100%)
 create mode 100644 superset/commands/annotation_layer/importers/dispatcher.py
 create mode 100644 superset/commands/annotation_layer/importers/v1/__init__.py
 create mode 100644 superset/commands/annotation_layer/importers/v1/utils.py
 create mode 100644 superset/dashboards/excel_export/storage.py
 create mode 100644 superset/dashboards/excel_export/sync_budget.py
 create mode 100644 superset/dashboards/excel_export/workbook.py
 copy {scripts => superset/mcp_service/catalog}/__init__.py (100%)
 create mode 100644 superset/mcp_service/catalog/schemas.py
 copy docker/docker-entrypoint-initdb.d/cypress-init.sh => 
superset/mcp_service/catalog/tool/__init__.py (64%)
 mode change 100755 => 100644
 create mode 100644 superset/mcp_service/catalog/tool/get_catalog.py
 create mode 100644 superset/mcp_service/dashboard_scope.py
 create mode 100644 superset/mcp_service/dashboard_scope_sql.py
 create mode 100644 superset/mcp_service/dataset/tool/create_dataset_metric.py
 create mode 100644 superset/mcp_service/dataset/tool/delete_dataset.py
 create mode 100644 superset/mcp_service/dataset/tool/delete_dataset_metric.py
 create mode 100644 superset/mcp_service/dataset/tool/restore_dataset.py
 create mode 100644 superset/mcp_service/dataset/tool/update_dataset.py
 create mode 100644 superset/mcp_service/utils/validation.py
 create mode 100644 superset/mcp_service/worker.py
 create mode 100644 
superset/migrations/versions/2026-08-17_18-38_884a2115ebd3_add_uuid_to_annotation_layer_and_annotation.py
 copy docker/docker-entrypoint-initdb.d/cypress-init.sh => 
superset/semantic_layers/bundle_schemas.py (54%)
 mode change 100755 => 100644
 create mode 100644 superset/semantic_layers/import_export.py
 create mode 100644 superset/sql/execution/cancellation.py
 create mode 100644 superset/versioning/snapshot.py
 create mode 100644 superset/versioning/unit_of_work.py
 create mode 100644 tests/integration_tests/annotation_layers/commands_tests.py
 create mode 100644 tests/unit_tests/charts/data/test_non_dict_params.py
 create mode 100644 tests/unit_tests/commands/chart/semantic_export_test.py
 create mode 100644 
tests/unit_tests/commands/dashboard/export_example_semantic_test.py
 create mode 100644 tests/unit_tests/commands/importers/v1/import_models_test.py
 create mode 100644 tests/unit_tests/commands/sql_lab/export_test.py
 rename docker/docker-entrypoint-initdb.d/cypress-init.sh => 
tests/unit_tests/daos/test_dataset_dao.py (63%)
 mode change 100755 => 100644
 create mode 100644 tests/unit_tests/dashboards/test_excel_export_storage.py
 create mode 100644 tests/unit_tests/dashboards/test_excel_export_sync_budget.py
 create mode 100644 tests/unit_tests/dashboards/test_excel_export_workbook.py
 create mode 100644 tests/unit_tests/databases/dao/related_objects_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_d1.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_exasol.py
 create mode 100644 tests/unit_tests/extensions/metastore_cache_test.py
 create mode 100644 tests/unit_tests/initialization/init_views_test.py
 copy {scripts => tests/unit_tests/mcp_service/catalog}/__init__.py (100%)
 copy {scripts => tests/unit_tests/mcp_service/catalog/tool}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/catalog/tool/test_get_catalog.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_chart_plugin_contract.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_live_chart_datasource.py
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_dataset_metric_mutations.py
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_delete_dataset.py
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_list_datasets_deleted_state.py
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_restore_dataset.py
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_update_dataset.py
 create mode 100644 
tests/unit_tests/mcp_service/system/resources/test_instance_metadata.py
 create mode 100644 tests/unit_tests/mcp_service/test_dashboard_scope.py
 create mode 100644 tests/unit_tests/mcp_service/test_dashboard_scope_sql.py
 create mode 100644 
tests/unit_tests/mcp_service/test_isdigit_isdecimal_regression.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_docstrings.py
 create mode 100644 
tests/unit_tests/mcp_service/test_sanitization_warning_inputs.py
 create mode 100644 tests/unit_tests/mcp_service/test_validation_contract.py
 create mode 100644 tests/unit_tests/mcp_service/test_worker.py
 create mode 100644 tests/unit_tests/mcp_service/test_worker_metadata_pool.py
 create mode 100644 tests/unit_tests/models/helpers_rls_rollback_test.py
 create mode 100644 tests/unit_tests/models/select_alias_shadowing_test.py
 create mode 100644 tests/unit_tests/scripts/docker_release_target_test.py
 create mode 100644 tests/unit_tests/scripts/translations/babel_update_test.py
 create mode 100644 tests/unit_tests/semantic_layers/import_export_test.py
 create mode 100644 tests/unit_tests/semantic_layers/selection_identity_test.py
 create mode 100644 tests/unit_tests/sql/execution/test_cancellation.py
 create mode 100644 
tests/unit_tests/translations/sk_sql_lab_progress_message_test.py
 create mode 100644 tests/unit_tests/versioning/test_api_feature_flag.py
 create mode 100644 tests/unit_tests/versioning/test_capture_gap_restore.py
 create mode 100644 tests/unit_tests/versioning/test_runtime_capture.py
 create mode 100644 tests/unit_tests/views/test_auth_login.py
 create mode 100644 tests/unit_tests/views/test_current_user_auth_errors.py

Reply via email to