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

hainenber pushed a change to branch 
feat/conditionally-run-codeql-analysis-per-detected-language
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 97839190617 fix(ci): correct format for dynamic `lang_matrix` used 
later in CodeQL runs
     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 3fb26969261 Merge branch 'master' into 
feat/conditionally-run-codeql-analysis-per-detected-language

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |   16 +-
 .github/workflows/bump-python-package.yml          |    2 +-
 .github/workflows/superset-extensions-cli.yml      |    2 +-
 .github/workflows/superset-frontend.yml            |    2 +-
 .../workflows/superset-python-integrationtest.yml  |    6 +-
 .github/workflows/superset-python-presto-hive.yml  |    4 +-
 .github/workflows/superset-python-unittest.yml     |    2 +-
 .github/workflows/tag-release.yml                  |   31 +-
 .grype.yaml                                        |   39 +
 UPDATING.md                                        |  245 +++-
 docker/apt-install.sh                              |    8 +
 .../configuration/configuring-superset.mdx         |   10 +
 docs/admin_docs/configuration/mcp-server.mdx       |   27 +
 docs/developer_docs/api.mdx                        |   13 +
 docs/developer_docs/contributing/howtos.md         |    5 +-
 docs/developer_docs/extensions/mcp.md              |    4 +
 docs/docs/using-superset/exploring-data.mdx        |    8 +
 .../using-superset/exporting-dashboard-data.mdx    |  112 +-
 docs/docs/using-superset/recently-archived.mdx     |  101 +-
 .../docs/using-superset/using-ai-with-superset.mdx |   25 +
 docs/docs/using-superset/version-history.mdx       |  179 ++-
 docs/package.json                                  |    9 +-
 docs/src/data/databases.json                       |   13 +-
 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                 |   49 +-
 docs/yarn.lock                                     |  498 ++++----
 pyproject.toml                                     |   17 +-
 requirements/development.txt                       |    6 +-
 scripts/change_detector.py                         |    1 +
 scripts/docker_release_target.py                   |  129 ++
 scripts/translations/check_pot_drift.py            |   52 +-
 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 ++++--
 .../cypress-base/cypress/e2e/explore/chart.test.js |  157 ---
 .../cypress-base/cypress/e2e/explore/utils.ts      |   78 --
 .../e2e/explore/visualizations/shared.helper.js    |  139 ---
 superset-frontend/cypress-base/package-lock.json   |   16 +-
 superset-frontend/cypress-base/package.json        |    2 +-
 superset-frontend/jest.config.js                   |    6 +-
 superset-frontend/package-lock.json                | 1232 +++++++++----------
 superset-frontend/package.json                     |   45 +-
 .../packages/generator-superset/package.json       |    2 +-
 .../src/shared-controls/sharedControls.tsx         |   13 +-
 .../packages/superset-ui-core/package.json         |    4 +-
 .../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 +-
 .../factories/createMemoryFormatter.ts             |   11 +-
 .../src/query/extractQueryFields.ts                |    4 +
 .../src/time-format/utils/normalizeTimestamp.ts    |   18 +
 .../factories/createMemoryFormatter.test.ts        |    7 +
 .../test/query/extractQueryFields.test.ts          |   12 +
 .../time-format/utils/normalizeTimestamp.test.ts   |   70 ++
 .../playwright/components/core/Menu.ts             |    7 +
 .../playwright/components/core/Radio.ts            |   69 ++
 .../playwright/components/core/index.ts            |    1 +
 .../components/dashboard/DashboardFilterBar.ts     |    6 +-
 .../playwright/components/modals/SaveChartModal.ts |  105 ++
 .../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/dashboard/clear-all-filters.spec.ts      |  112 ++
 .../explore/cross-referenced-dashboards.spec.ts    |  173 +++
 .../tests/explore/explore-no-results.spec.ts       |   59 +
 .../playwright/tests/explore/explore-save.spec.ts  |  131 ++
 .../tests/explore/explore-test-helpers.ts          |   50 +
 .../src/vendor/cal-heatmap.ts                      |   60 +-
 .../plugin-chart-calendar/test/cal-heatmap.test.ts |   40 +
 .../src/BigNumber/BigNumberViz.test.tsx            |  131 +-
 .../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 +++
 .../src/{Bubble => Candlestick}/buildQuery.ts      |   19 +-
 .../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
 .../src/{Tree => Candlestick}/index.ts             |   32 +-
 .../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    |    6 +
 .../src/Gantt/transformProps.ts                    |   60 +-
 .../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.tsx           |   19 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |   14 +-
 .../src/Timeseries/transformProps.ts               |  177 ++-
 .../src/Timeseries/transformers.ts                 |   51 +-
 .../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  |   20 +-
 .../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       |  238 +++-
 .../test/Butterfly/Butterfly.test.tsx              |   32 +-
 .../test/Candlestick/EchartsCandlestick.test.tsx   |  325 +++++
 .../test/Candlestick}/buildQuery.test.ts           |   48 +-
 .../test/Candlestick/controlPanel.test.ts          |  257 ++++
 .../test/Candlestick/transformProps.test.ts        | 1271 ++++++++++++++++++++
 .../test/Candlestick/utils.test.ts                 |   53 +
 .../test/Gantt/transformProps.test.ts              |   58 +
 .../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/transformProps.test.ts         |  391 ++++++
 .../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 |  185 ++-
 .../plugins/plugin-chart-handlebars/package.json   |    2 +-
 .../plugins/plugin-chart-pivot-table/package.json  |    2 +-
 .../scripts/{commitlint.js => po2json-cli.js}      |   37 +-
 superset-frontend/scripts/po2json.js               |   96 ++
 superset-frontend/scripts/po2json.sh               |    6 +-
 superset-frontend/spec/scripts/po2json.test.ts     |  130 ++
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |   74 +-
 .../useDrillDetailMenuItems.test.tsx               |   26 +
 .../DatasourceEditor/DatasourceEditor.tsx          |   24 +-
 .../tests/DatasourceEditor.test.tsx                |   31 +
 .../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 +
 .../dashboard/components/Header/Header.test.tsx    |  178 ++-
 .../components/RefreshIntervalModal.test.tsx       |  114 ++
 .../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 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |    6 +
 .../nativeFilters/FilterBar/keyValue.test.ts       |  147 +++
 .../nativeFilters/FilterBar/state.test.ts          |  220 ++++
 .../hooks/useFilterOperations.test.ts              |  171 ++-
 .../hooks/useModalSaveLogic.test.ts                |  118 ++
 .../nativeFilters/FiltersConfigModal/utils.test.ts |   42 +
 .../src/dashboard/util/crossFilters.test.ts        |   75 ++
 .../src/dashboard/util/crossFilters.ts             |   23 +-
 .../src/dashboard/util/getRelatedCharts.ts         |   32 +-
 .../controlUtils/standardizedFormData.test.ts      |   29 +
 .../explore/controlUtils/standardizedFormData.ts   |    4 +
 superset-frontend/src/features/home/Menu.test.tsx  |   19 +
 .../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/Login/Login.test.tsx   |   17 +
 superset-frontend/src/pages/Login/index.tsx        |    4 +-
 superset-frontend/src/preamble.test.ts             |   29 +-
 superset-frontend/src/preamble.ts                  |   10 +-
 superset-frontend/src/setup/setupApp.ts            |   16 +-
 superset-frontend/src/utils/colorScheme.test.ts    |  230 ++++
 superset-frontend/src/utils/softDeleteCopy.test.ts |   11 +
 superset-frontend/src/utils/softDeleteCopy.ts      |   14 +
 .../src/visualizations/presets/MainPreset.ts       |    4 +
 superset-websocket/package-lock.json               |  328 ++---
 superset-websocket/package.json                    |    6 +-
 superset/charts/api.py                             |    5 +
 superset/charts/client_processing.py               |    9 +-
 superset/charts/data/api.py                        |   65 +-
 superset/cli/deletion_retention.py                 |   20 +-
 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/version_restore.py               |    9 +-
 superset/common/query_context_factory.py           |   36 +
 superset/common/query_context_processor.py         |    6 +-
 superset/common/utils/query_cache_manager.py       |    2 +
 superset/config.py                                 |  239 +++-
 superset/connectors/sqla/models.py                 |   11 +-
 superset/constants.py                              |    9 +
 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                         |  261 +++-
 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                              |  109 +-
 superset/datasets/api.py                           |    5 +
 superset/datasets/schemas.py                       |    3 +-
 superset/db_engine_specs/__init__.py               |   31 +-
 superset/db_engine_specs/aurora.py                 |   79 ++
 superset/db_engine_specs/base.py                   |   74 +-
 superset/db_engine_specs/bigquery.py               |    4 +
 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             |  143 ++-
 superset/db_engine_specs/duckdb.py                 |   39 +
 superset/db_engine_specs/dynamodb.py               |   24 +-
 superset/db_engine_specs/elasticsearch.py          |   59 +-
 superset/db_engine_specs/gsheets.py                |   60 +-
 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                  |  150 +++
 superset/db_engine_specs/oracle.py                 |  118 +-
 superset/db_engine_specs/pinot.py                  |    7 +
 superset/db_engine_specs/postgres.py               |   14 +-
 superset/db_engine_specs/snowflake.py              |   12 +-
 superset/db_engine_specs/starrocks.py              |   12 +-
 superset/exceptions.py                             |   23 +
 superset/extensions/__init__.py                    |    6 +-
 superset/extensions/metastore_cache.py             |   35 +-
 superset/jinja_context.py                          |   12 +-
 superset/mcp_service/app.py                        |   21 +-
 superset/mcp_service/auth.py                       |   35 +-
 superset/mcp_service/caching.py                    |   28 +-
 .../mcp_service/catalog}/__init__.py               |    0
 superset/mcp_service/catalog/schemas.py            |  131 ++
 .../catalog/tool}/__init__.py                      |    6 +-
 superset/mcp_service/catalog/tool/get_catalog.py   |  443 +++++++
 superset/mcp_service/chart/chart_helpers.py        |    4 +-
 superset/mcp_service/chart/chart_utils.py          |    2 +-
 superset/mcp_service/chart/preview_utils.py        |   44 +-
 superset/mcp_service/chart/schemas.py              |    3 +-
 superset/mcp_service/chart/tool/generate_chart.py  |    7 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |    4 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    4 +-
 .../chart/validation/dataset_validator.py          |    2 +-
 superset/mcp_service/dashboard/schemas.py          |    7 +-
 .../mcp_service/dashboard/tool/delete_dashboard.py |    2 +-
 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                 |    5 +
 superset/mcp_service/utils/response_size_utils.py  |    5 +
 superset/models/core.py                            |   55 +-
 superset/models/helpers.py                         |  105 +-
 superset/models/slice.py                           |    7 +-
 superset/models/sql_lab.py                         |   29 +-
 superset/reports/schemas.py                        |   41 +
 superset/result_set.py                             |    2 +
 superset/security/manager.py                       |   14 +-
 superset/sql/parse.py                              |  146 ++-
 superset/tasks/deletion_retention.py               |   10 +-
 superset/tasks/export_dashboard_excel.py           |  384 +-----
 superset/tasks/version_history_retention.py        |   33 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |  468 ++++---
 superset/translations/ca/LC_MESSAGES/messages.po   |  410 ++++---
 superset/translations/cs/LC_MESSAGES/messages.po   |  334 +++--
 superset/translations/de/LC_MESSAGES/messages.po   |  141 ++-
 superset/translations/en/LC_MESSAGES/messages.po   |  126 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  138 ++-
 superset/translations/fa/LC_MESSAGES/messages.po   |  472 +++++---
 superset/translations/fi/LC_MESSAGES/messages.po   |  437 +++----
 superset/translations/fr/LC_MESSAGES/messages.po   |  145 ++-
 superset/translations/it/LC_MESSAGES/messages.po   |  144 ++-
 superset/translations/ja/LC_MESSAGES/messages.po   |  126 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |  577 +++++----
 superset/translations/lv/LC_MESSAGES/messages.po   |  352 ++++--
 superset/translations/messages.pot                 |  191 ++-
 superset/translations/mi/LC_MESSAGES/messages.po   |  413 ++++---
 superset/translations/nl/LC_MESSAGES/messages.po   |  484 +++++---
 superset/translations/pl/LC_MESSAGES/messages.po   |  523 ++++----
 superset/translations/pt/LC_MESSAGES/messages.po   |  138 ++-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  469 +++++---
 superset/translations/ro/LC_MESSAGES/messages.po   |  143 ++-
 superset/translations/ru/LC_MESSAGES/messages.po   |  140 ++-
 superset/translations/sk/LC_MESSAGES/messages.po   |  339 ++++--
 superset/translations/sl/LC_MESSAGES/messages.po   |  138 ++-
 superset/translations/sr/LC_MESSAGES/messages.po   |  138 ++-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |  139 ++-
 superset/translations/ta/LC_MESSAGES/messages.po   |  426 ++++---
 superset/translations/th/LC_MESSAGES/messages.po   |  419 ++++---
 superset/translations/tr/LC_MESSAGES/messages.po   |  165 ++-
 superset/translations/uk/LC_MESSAGES/messages.po   |  349 ++++--
 superset/translations/zh/LC_MESSAGES/messages.po   |  180 ++-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  415 ++++---
 superset/utils/core.py                             |    3 +-
 superset/utils/database.py                         |   76 +-
 superset/utils/date_parser.py                      |    2 +-
 superset/utils/excel.py                            |   83 +-
 superset/utils/number_format.py                    |   10 +-
 superset/utils/rls.py                              |   99 +-
 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/base.py                             |    7 +-
 tests/integration_tests/dashboards/api_tests.py    |  572 ++++++++-
 tests/integration_tests/databases/api_tests.py     |  108 +-
 .../integration_tests/databases/commands_tests.py  |   19 +-
 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 +-
 .../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 +-
 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 +-
 .../common/test_query_context_factory.py           |  201 ++++
 .../common/test_query_context_processor.py         |   42 +-
 tests/unit_tests/config_test.py                    |  286 ++++-
 tests/unit_tests/connectors/sqla/models_test.py    |   55 +-
 tests/unit_tests/dao/base_dao_test.py              |   29 +-
 tests/unit_tests/dao/dashboard_test.py             |  247 +++-
 .../daos/test_dataset_dao.py}                      |   20 +-
 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                 |  181 ++-
 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_crate.py     |   83 +-
 tests/unit_tests/db_engine_specs/test_d1.py        |  337 ++++++
 .../unit_tests/db_engine_specs/test_databricks.py  |   70 ++
 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          |  144 ++-
 tests/unit_tests/db_engine_specs/test_gsheets.py   |  210 +++-
 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_mysql.py     |  307 +++++
 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 +-
 .../unit_tests/extensions/metastore_cache_test.py  |   93 ++
 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   |  921 ++++++++++++++
 .../mcp_service/chart/test_preview_utils.py        |  125 ++
 .../mcp_service/chart/tool/test_generate_chart.py  |   57 +
 .../chart/tool/test_update_chart_preview.py        |   31 +
 .../dashboard/tool/test_duplicate_dashboard.py     |   21 +-
 .../dataset/tool/test_create_dataset.py            |    1 +
 .../dataset/tool/test_dataset_metric_mutations.py  |  529 ++++++++
 .../mcp_service/dataset/tool/test_dataset_tools.py |   14 +
 .../dataset/tool/test_delete_dataset.py            |  340 ++++++
 .../tool/test_list_datasets_deleted_state.py}      |   89 +-
 .../tool/test_restore_dataset.py}                  |  266 ++--
 .../dataset/tool/test_update_dataset.py            |  574 +++++++++
 .../explore/tool/test_generate_explore_link.py     |   25 +
 .../test_isdigit_isdecimal_regression.py           |  149 +++
 tests/unit_tests/mcp_service/test_mcp_caching.py   |   67 +-
 .../mcp_service/test_mcp_tool_registration.py      |   14 +
 .../mcp_service/test_rbac_tool_enforcement.py      |   30 +
 .../test_sanitization_warning_inputs.py            |   80 ++
 .../unit_tests/mcp_service/test_tool_inventory.py  |    9 +-
 tests/unit_tests/models/core_test.py               |  165 +++
 .../unit_tests/models/helpers_rls_rollback_test.py |   80 ++
 tests/unit_tests/models/helpers_test.py            |   59 +-
 .../models/select_alias_shadowing_test.py          |  184 +++
 tests/unit_tests/models/slice_test.py              |   28 +
 .../models/test_virtual_dataset_format.py          |   62 +-
 tests/unit_tests/reports/schemas_test.py           |   83 ++
 tests/unit_tests/result_set_test.py                |   22 +
 tests/unit_tests/scripts/change_detector_test.py   |   10 +
 .../scripts/docker_release_target_test.py          |  177 +++
 .../scripts/translations/check_pot_drift_test.py   |   82 ++
 tests/unit_tests/security/guest_rls_test.py        |  228 +++-
 tests/unit_tests/security/manager_test.py          |   80 +-
 tests/unit_tests/sql/execution/test_celery_task.py |   40 +
 tests/unit_tests/sql/parse_tests.py                |  286 +++++
 tests/unit_tests/sql_lab_test.py                   |   49 +
 tests/unit_tests/tasks/test_deletion_retention.py  |  206 +++-
 .../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/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_bootstrap_auth.py      |   20 +
 448 files changed, 40762 insertions(+), 6408 deletions(-)
 create mode 100644 .grype.yaml
 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
 create mode 100644 scripts/docker_release_target.py
 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
 create mode 100644 superset-frontend/playwright/components/core/Radio.ts
 create mode 100644 
superset-frontend/playwright/components/modals/SaveChartModal.ts
 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
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/EchartsCandlestick.tsx
 copy superset-frontend/plugins/plugin-chart-echarts/src/{Bubble => 
Candlestick}/buildQuery.ts (71%)
 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
 copy superset-frontend/plugins/plugin-chart-echarts/src/{Tree => 
Candlestick}/index.ts (66%)
 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
 copy superset-frontend/plugins/{plugin-chart-calendar/test => 
plugin-chart-echarts/test/Candlestick}/buildQuery.test.ts (51%)
 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/scripts/{commitlint.js => po2json-cli.js} (56%)
 mode change 100755 => 100644
 create mode 100644 superset-frontend/scripts/po2json.js
 create mode 100644 superset-frontend/spec/scripts/po2json.test.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
 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/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 superset/{sql/execution => mcp_service/catalog/tool}/__init__.py (91%)
 create mode 100644 superset/mcp_service/catalog/tool/get_catalog.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/versioning/snapshot.py
 create mode 100644 superset/versioning/unit_of_work.py
 create mode 100644 tests/unit_tests/charts/data/test_non_dict_params.py
 copy tests/{integration_tests/fixtures/client.py => 
unit_tests/daos/test_dataset_dao.py} (64%)
 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/extensions/metastore_cache_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/dataset/tool/test_dataset_metric_mutations.py
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_delete_dataset.py
 copy 
tests/unit_tests/mcp_service/{chart/tool/test_list_charts_deleted_state.py => 
dataset/tool/test_list_datasets_deleted_state.py} (59%)
 copy tests/unit_tests/mcp_service/{chart/tool/test_restore_chart.py => 
dataset/tool/test_restore_dataset.py} (54%)
 create mode 100644 
tests/unit_tests/mcp_service/dataset/tool/test_update_dataset.py
 create mode 100644 
tests/unit_tests/mcp_service/test_isdigit_isdecimal_regression.py
 create mode 100644 
tests/unit_tests/mcp_service/test_sanitization_warning_inputs.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/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

Reply via email to