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

rusackas pushed a change to branch feat/color-picker-consolidation
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 8fcacb53fb2 refactor(color-picker): dedupe comparison color config and 
disable theme pickers on invalid JSON
    omit 3d4241ff605 test(themes): paste JSON into the theme editor instead of 
typing it
    omit 0ce0ff28c08 fix(charts): align finite-value filtering between Bullet 
ranges and range colors
    omit 79aa3d7a823 fix(charts): address bot review findings on legacy color 
fallbacks
    omit 4e09848a5fe feat(themes): add curated color pickers above the theme 
JSON editor
    omit 06a9b87bd7c feat(big-number): replace 2-choice comparison scheme with 
color pickers
    omit faf87a365d5 feat(bullet): add optional per-range band colors
    omit bf7673b62c5 feat(gauge): replace scheme-index interval colors with a 
color picker
     add 774d83b4d63 fix(sql-lab): remove the ecpg-based PostgreSQL SQL 
validator (#43020)
     add 322eaeaf991 fix(ci): align Docker image publishing policy (#44250)
     add 782b7ae924c fix(security): skip session checks for health probes 
(#43786)
     add fe2ed7bb8e7 fix(dashboard): make screenshot completion truthful 
(#44144)
     add cf39d22f382 fix(mcp): honor extra_form_data time_grain_sqla on Generic 
Chart Axes charts (#44435)
     add e4eb0591bdb fix(sql lab): keep the real Flask session on synchronous 
runs (#44428)
     add 75447bc068f fix(pandas_postprocessing): pass string aggregator names 
to GroupBy.agg to silence FutureWarning (#43259)
     add aaa9390a24a fix(semantic-layer): wrap raw pandas TypeError/DataError 
from post-processing as QueryObjectValidationError (#44502)
     add d0edf759c90 test(dashboard): migrate native filter 
cross-filter/dependency E2E to Playwright (#41458)
     add 2f4eb735187 fix(explore): keep edits to a dashboard-inherited filter 
when saving (#43947)
     add c355f0a21df fix(plugin-chart-table): re-measure sticky layout when the 
table gains a box (#44430)
     add ed9bb9169d8 fix(dashboard): stop wide table charts bleeding over 
neighbours in dashboard image export (#44414)
     add f7784b64f46 fix(ci): give the db2 testcontainer boot real wait 
headroom (#44399)
     add 7e6b25a90b3 fix(row-level-security): allow roles as RLS rule subjects 
(#43948)
     add 4a7b8b6279c fix(ui): preserve HTTP status in error messages (#44271)
     add 6cc5c0e00ba feat(db_engine_specs): add metadata block to 
OdpsEngineSpec (#43239)
     add 48dfbcc6527 fix(explore): keep an externally updated TextControl value 
visible (#43220)
     add afd8dac7c85 fix(sqllab): migrate tabs after database deletion (#43278)
     add b8cc2a769d4 fix(echarts): only reserve left grid padding when a Y-axis 
title exists (#43299)
     add 53484ac21c9 feat(charts): Clean up "shadow state" in conditional 
formatting dialog (#43692)
     add ba677f0c5ba feat(mcp): read Explore permalinks in get_chart_info 
(#44338)
     add cbd5bf85fe7 fix(dataset): render semantic datasource type as a badge 
(#44398)
     add 3756b7ae2c8 fix(i18n): guard messages.pot against source drift and 
regenerate it (#44467)
     add 3fd761d1740 fix(ui): preserve default modal resize handles when config 
is partial (#43806)
     add 5a2a90b38ab feat(mcp): bubble chart type plugin (#43572)
     add 889f9f1751e fix(reports): validate final capture artifacts before 
delivery (#44465)
     add 298d776ec56 fix(dashboard): include semantic views in the dashboard 
datasets payload so semantic charts render their errors (#44413)
     add 92482f07f30 fix(echarts): emit no cross-filter for clicks that are not 
categories (#43192)
     add cf10e894a19 fix(mcp): preserve omitted chart colors and row limits 
(#44188)
     add 0050b187d78 perf(deletion-retention): scope purge-audit repeat checks 
with legacy database fallback (#44262)
     add 649a665b482 fix(security): allow schema_access holders to explore SQL 
Lab queries from other authors (#43994)
     add d45bbdcdf2e fix(sql): use AST for disallowed function checks (#43641)
     add 5745162faf7 docs: point remaining Release Notes links at GitHub 
releases (#43803)
     add 600db8e5816 fix(matrixify): apply dimension filters to all 
query-specific adhoc filter collections (#43861)
     add 903a1e1ff3e docs(singlestore): require singlestoredb[sqlalchemy] and 
update logo (#44170)
     add c666a6400c4 fix(database): allow metadata edits on an unreachable 
database (#44000)
     add fd5efcbf5ba fix(superset-ui-core): add year to smart_date_verbose 
tooltip tiers (#44212)
     add 1b8800c84d1 fix(sqllab): restore SQL code folding (#44236)
     add 0382c19ad3b fix: show the server's error message in the publish toggle 
and user info toasts (#44238)
     add f47fcad3d6e fix(reports): replace stale Selenium references in 
screenshot messages (#44244)
     add 3e39ba13e34 fix(country-map): correct Karelia boundary (#44273)
     add 3cbee94525d docs: fix internal link guidance examples (#44275)
     add 468936a7e04 fix(sql): preserve literal percents in where_in (#44284)
     add b78585c9715 fix(databricks): select the SQLAlchemy 2 dialect (#44286)
     add 8039aa983d7 test(explore): await the Customize tab click in 
ControlPanelsContainer test (#44315)
     add 57108b416bf test(explore): await userEvent calls in 
useExploreAdditionalActionsMenu test (#44323)
     add 7eb9532c0ba fix(chart-controls): keep axis sort available for columns 
with unknown type (#44344)
     add 770bcfb2e95 fix(extensions-cli): fail build and bundle when the 
frontend build fails (#44407)
     add 86fb8db31d8 chore(version-history): use typed app dispatch (#44438)
     add 156549ffed3 fix(temporary-cache): forward tab_id on DELETE so 
contextual cache mappings are cleared (#44451)
     add 22d37f3ed0a chore(deps): bump fast-uri from 3.1.5 to 3.1.8 in 
/superset-frontend/cypress-base (#44510)
     add 4df9c0ad362 chore(deps): bump qs from 6.15.2 to 6.16.0 in 
/superset-frontend/cypress-base (#44511)
     add 1428f138d20 chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/docs (#44518)
     add 1c803d923f3 chore(deps-dev): bump oxfmt from 0.67.0 to 0.68.0 in 
/superset-websocket (#44516)
     add fc1c7798e9e chore(deps-dev): bump oxfmt from 0.67.0 to 0.68.0 in /docs 
(#44517)
     add a54e7353a2b chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/superset-websocket (#44515)
     add d43785a2c22 chore(deps): bump docker/setup-buildx-action from 4.3.0 to 
4.4.1 (#44519)
     add 4c229cb66a7 fix(dashboard): import getClientErrorObject; regenerate 
stale messages.pot (#44513)
     add 4afaf60a4fe feat(build): use latest patch version for Python base 
image (#44458)
     add c691d768d2f chore(deps-dev): bump oxfmt from 0.67.0 to 0.68.0 in 
/superset-frontend (#44521)
     add 21db4a5eeef chore(deps): bump @types/d3-selection from 3.0.11 to 
3.0.12 in /superset-frontend (#44524)
     add 47fd4f4cbfc fix(matrixify): lazy-load grid cells with dashboard 
virtualization (#43053)
     add 250a4797bf1 fix(plugin-chart-ag-grid-table): send export column 
filters as structured filters (#44308)
     add c6d0890f2e0 fix(api): restore three schema fields disabled by a stray 
trailing comma (#43225)
     add 61a5d0e3348 fix(csrf): recover from an expired CSRF token without a 
page reload (#43655)
     add d21aa9b4f46 chore(deps): bump yeoman-generator from 9.1.0 to 9.2.0 in 
/superset-frontend (#44522)
     add 2b5a929523d fix(chart-controls): type post-processing columns as a 
string-to-string mapping (#43589)
     add a3afedeaab4 fix(core): normalize bare date-only strings to UTC in 
normalizeTimestamp (#43807)
     add 107a61c4caf feat(databend): add a sqlglot dialect based on Postgres 
(#43964)
     add c163112f4e2 chore(deps): bump @googleapis/sheets from 17.0.0 to 18.0.0 
in /superset-frontend (#44523)
     add 5c1f617740c fix(echarts): apply the bar label legibility floor to 
manual label positions (#44469)
     add c4943a0ab34 feat(native-filters): add configurable display format for 
time filters (#44237)
     add cef83b3f8df fix(import): catch KeyError for missing uuid/ssh_tunnel in 
load_configs (#43305)
     add df6e0d08b35 fix(sqla): wrap TypeError from virtual dataset Jinja 
rendering as a validation error (#44312)
     add 1788486228c fix(datasets): soften render-time UndefinedError in 
get_virtual_table_metadata (#44316)
     add ee4b8ddff6e fix(ci): align superset-cache tag consumers with the 
Dockerfile PY_VER (#44534)
     add 43f0f8876ad chore(ci): make the DB migration conflict bot comment less 
emoji-heavy and more actionable (#44506)
     add 0fe0662b271 fix(i18n): regenerate messages.pot to match source (#44509)
     add 9f48d0eac9e fix(tests): await userEvent.click in CsrfErrorMessage 
compact-mode test (#44540)
     add 7024401aef2 fix(mcp): drop tiktoken, size-guard responses by exact 
byte length (#44508)
     add 9413294b2bd docs(pivot-table): document the "Show values as" 
percentage display option (#44127)
     add 48795f9a2d4 docs(explore): document show_download param for standalone 
chart embeds (#43906)
     add 7dd70eaf2d6 fix: tighten object-level and destination checks across 
four unrelated endpoints (#44036)
     add add97e5d190 fix(embedded): tighten guest-token scoping for 
annotations, result types, and channels (#43391)
     add ca7cdfcd0ff fix(pinot): require the SQLAlchemy 2 driver extra (#44287)
     add 0f229fda75f fix(security): exempt health blueprint from forced 
password changes (#44504)
     add 269b9f99fef fix(views): return 401 for NoAuthorizationError in 
handle_api_exception (SC-121647) (#44533)
     add 50bbcedf13b docs(mcp): document restore_chart and restore_dashboard 
tools (#44207)
     add ea1ffcf0adb fix: fixed inverseSelection (#40970)
     add 350dd0d60ec fix(security): delete deprecated permissions left over 
after upgrades (#44142)
     add 7a9fe06762b fix(mcp): stop data tool responses crashing on binary and 
NaT values (#44495)
     add 9612437a9c8 fix(extensions): preserve chat state across display modes 
(#44490)
     add 61fffbe0c08 chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/superset-frontend (#44525)
     add c14ac29f477 fix(mcp): complete Treemap round-trip and previews (#44152)
     add 2ff1e9737b5 feat(gauge): replace scheme-index interval colors with a 
color picker
     add cea1beb0fdf feat(bullet): add optional per-range band colors
     add 861f6451177 feat(big-number): replace 2-choice comparison scheme with 
color pickers
     add c0e2d7a08ab feat(themes): add curated color pickers above the theme 
JSON editor
     add a95fce98b28 fix(charts): address bot review findings on legacy color 
fallbacks
     add 37c16f1e35c fix(charts): align finite-value filtering between Bullet 
ranges and range colors
     add 7ac76c9337e test(themes): paste JSON into the theme editor instead of 
typing it
     add f4d6afb0569 refactor(color-picker): dedupe comparison color config and 
disable theme pickers on invalid JSON
     add 2d7f084ee68 test(color-picker): await click before asserting 
reset-button onChange
     add 57347b6ead6 chore(i18n): regenerate messages.pot and catalogs for 
color-picker strings

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   (8fcacb53fb2)
            \
             N -- N -- N   refs/heads/feat/color-picker-consolidation 
(57347b6ead6)

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:
 .devcontainer/Dockerfile                           |     2 +-
 .devcontainer/devcontainer-base.json               |     2 +-
 .github/workflows/bashlib.sh                       |     2 -
 .github/workflows/check-db-migration-confict.yml   |    21 +-
 .github/workflows/docker.yml                       |   301 +-
 .github/workflows/mirror-service-images.yml        |     2 +-
 .../workflows/scheduled-docker-image-refresh.yml   |   195 -
 .github/workflows/superset-translations.yml        |    11 +
 .github/workflows/tag-release.yml                  |    22 +-
 Dockerfile                                         |     3 +-
 README.md                                          |     2 +-
 UPDATING.md                                        |   128 +-
 docker-compose.yml                                 |     2 +-
 docs/DOCS_CLAUDE.md                                |    17 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |    32 +
 .../configuration/configuring-superset.mdx         |    11 +
 docs/admin_docs/configuration/mcp-server.mdx       |    99 +-
 docs/admin_docs/installation/docker-builds.mdx     |    66 +-
 docs/admin_docs/installation/docker-compose.mdx    |     2 +-
 docs/admin_docs/security/security.mdx              |    30 +-
 .../extensions/extension-points/chat.md            |     4 +
 docs/docs/faq.mdx                                  |    13 +
 docs/docs/using-superset/embedding.mdx             |    21 +
 docs/docs/using-superset/exploring-data.mdx        |    16 +
 docs/docs/using-superset/sql-templating.mdx        |     4 +-
 .../docs/using-superset/using-ai-with-superset.mdx |     2 +
 docs/package.json                                  |     4 +-
 docs/scripts/generate-database-docs.mjs            |     7 +-
 docs/src/data/databases.json                       |    14 +-
 docs/static/img/databases/singlestore.png          |   Bin 15978 -> 9806 bytes
 docs/static/resources/openapi.json                 |    76 +
 .../version-6.0.0/intro.md                         |     2 +-
 .../version-6.1.0/index.mdx                        |     2 +-
 .../version-6.1.0/intro.md                         |     2 +-
 docs/yarn.lock                                     |   468 +-
 pyproject.toml                                     |    11 +-
 requirements/base.txt                              |     2 -
 requirements/development.txt                       |     9 -
 scripts/change_detector.py                         |     1 -
 scripts/docker-build-extra-flags.sh                |    49 +-
 scripts/docker-build-plan.sh                       |    50 +
 scripts/docker-publish-guard.sh                    |    53 +
 scripts/translations/check_pot_drift.py            |   157 +
 superset-extensions-cli/README.md                  |     5 +
 .../src/superset_extensions_cli/cli.py             |     3 +
 superset-extensions-cli/tests/test_cli_build.py    |   131 +-
 superset-frontend/cypress-base/package-lock.json   |    51 +-
 superset-frontend/package-lock.json                |   344 +-
 superset-frontend/package.json                     |     8 +-
 .../packages/generator-superset/package.json       |     2 +-
 .../src/utils/isSortable.ts                        |    10 +
 .../test/utils/isSortable.test.ts                  |     9 +
 .../Matrixify/MatrixifyGridCell.test.tsx           |   273 +-
 .../components/Matrixify/MatrixifyGridCell.tsx     |   127 +-
 .../Matrixify/MatrixifyGridGenerator.test.ts       |    90 +
 .../components/Matrixify/MatrixifyGridGenerator.ts |    37 +-
 .../components/Matrixify/virtualizationEvents.ts   |    82 +
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |    33 +
 .../src/components/AsyncAceEditor/index.tsx        |     4 +-
 .../superset-ui-core/src/components/Form/Form.tsx  |     1 +
 .../Label/reusable/DatasetTypeLabel.test.tsx       |    48 +-
 .../components/Label/reusable/DatasetTypeLabel.tsx |    11 +-
 .../src/components/Modal/Modal.test.tsx            |    93 +-
 .../src/components/Modal/Modal.tsx                 |    33 +-
 .../src/connection/SupersetClientClass.ts          |    83 +-
 .../superset-ui-core/src/connection/constants.ts   |     3 +
 .../superset-ui-core/src/query/api/v1/types.ts     |     3 +
 .../src/query/getClientErrorObject.ts              |    33 +-
 .../src/query/types/PostProcessing.ts              |     6 +-
 .../superset-ui-core/src/query/types/Query.ts      |     1 +
 .../src/time-comparison/fetchTimeRange.ts          |    29 +-
 .../src/time-format/formatters/smartDateVerbose.ts |    10 +-
 .../src/time-format/utils/normalizeTimestamp.ts    |    13 +
 .../superset-ui-core/src/ui-overrides/types.ts     |     1 +
 .../connection/SupersetClientCsrfRecovery.test.ts  |   191 +
 .../test/query/getClientErrorObject.test.ts        |    46 +-
 .../test/query/types/PostProcessing.test.ts        |     6 +-
 .../test/time-comparison/fetchTimeRange.test.ts    |    60 +
 .../formatters/smartDateVerbose.test.ts            |    57 +-
 .../time-format/utils/normalizeTimestamp.test.ts   |     5 +
 .../superset-ui-core/types/ace-builds.d.ts         |     1 +
 .../playwright/components/core/Select.ts           |    14 +
 .../components/dashboard/DashboardFilterBar.ts     |    30 +-
 .../tests/dashboard/dashboard-test-helpers.ts      |    24 +-
 .../tests/dashboard/native-filters.spec.ts         |   438 +
 .../recently-archived/recently-archived.spec.ts    |     5 +
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |   125 +-
 .../plugin-chart-ag-grid-table/src/index.ts        |     1 -
 .../src/stateConversion.ts                         |   302 +-
 .../src/utils/agGridFilterConverter.ts             |    73 +-
 .../test/buildQuery.test.ts                        |   206 +-
 .../test/stateConversion.test.ts                   |    77 +-
 .../test/utils/agGridFilterConverter.test.ts       |    55 +-
 .../test/utils/filterStateManager.test.ts          |     2 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   Bin 226846 -> 227629 
bytes
 .../src/countries/russia.geojson                   |   Bin 747442 -> 678517 
bytes
 .../test/russia.geojson.test.ts                    |    87 +
 .../src/Gantt/transformProps.ts                    |     7 +-
 .../src/Timeseries/transformers.ts                 |    44 +-
 .../src/utils/eventHandlers.ts                     |    26 +-
 .../test/MixedTimeseries/buildQuery.test.ts        |    33 +
 .../test/MixedTimeseries/transformProps.test.ts    |     4 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |     6 +-
 .../test/Timeseries/transformers.test.ts           |   160 +-
 .../test/utils/eventHandlers.test.ts               |    56 +
 .../src/DataTable/hooks/useSticky.tsx              |    30 +-
 .../test/DataTable/hooks/useSticky.test.tsx        |    88 +-
 superset-frontend/spec/helpers/testing-library.tsx |     1 +
 .../src/SqlLab/actions/sqlLab.test.ts              |   118 +
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |   108 +-
 .../src/components/Chart/Chart.test.tsx            |    55 +
 superset-frontend/src/components/Chart/Chart.tsx   |     5 +-
 ...rMessage.test.tsx => CsrfErrorMessage.test.tsx} |    42 +-
 ...etworkErrorMessage.tsx => CsrfErrorMessage.tsx} |    16 +-
 .../src/components/ErrorMessage/index.tsx          |     1 +
 superset-frontend/src/components/Tag/utils.tsx     |    16 +-
 superset-frontend/src/core/chat/ChatHost.tsx       |    20 +-
 .../src/dashboard/actions/dashboardState.test.ts   |    71 +-
 .../src/dashboard/actions/dashboardState.ts        |    21 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |    11 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |    16 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    61 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |    14 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |     3 +-
 .../components/nativeFilters/utils.test.ts         |    13 +
 .../dashboard/hooks/useDownloadScreenshot.test.ts  |   118 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |    67 +-
 .../components/ControlPanelsContainer.test.tsx     |     2 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |     8 +
 .../BulletRangeColorsControl.test.tsx              |     6 +-
 .../FormattingPopoverContent.test.tsx              |   129 +-
 .../FormattingPopoverContent.tsx                   |   176 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |   116 +-
 .../tests/DateFilterLabel.test.tsx                 |   114 +
 .../components/controls/DateFilterControl/types.ts |     1 +
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |    41 +
 .../index.tsx                                      |     6 +
 .../controls/TextControl/TextControl.test.tsx      |    15 +
 .../components/controls/TextControl/index.tsx      |    16 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |    10 +-
 .../useExploreAdditionalActionsMenu.test.tsx       |    24 +-
 .../src/features/userInfo/UserInfoModal.test.tsx   |   102 +
 .../src/features/userInfo/UserInfoModal.tsx        |    11 +-
 .../versionHistory/ChartVersionPreview.tsx         |     5 +-
 .../versionHistory/DashboardVersionHistory.tsx     |     5 +-
 .../versionHistory/ExploreVersionHistory.tsx       |     5 +-
 .../src/features/versionHistory/PreviewBanner.tsx  |     5 +-
 .../versionHistory/useDashboardVersionPreview.ts   |     5 +-
 .../versionHistory/useVersionActions.test.tsx      |     6 +-
 .../features/versionHistory/useVersionActions.tsx  |     5 +-
 .../components/Select/SelectFilterPlugin.tsx       |    22 +-
 .../components/Time/TimeFilterPlugin.test.tsx      |    95 +
 .../filters/components/Time/TimeFilterPlugin.tsx   |     1 +
 .../src/filters/components/Time/controlPanel.ts    |    17 +
 .../src/filters/components/Time/types.ts           |     1 +
 .../src/pages/DatasetList/DatasetList.test.tsx     |    52 +
 superset-frontend/src/pages/DatasetList/index.tsx  |    12 +-
 superset-frontend/src/setup/setupErrorMessages.ts  |     5 +
 .../src/utils/downloadAsImage.test.ts              |    79 +-
 superset-frontend/src/utils/downloadAsImage.tsx    |    40 +-
 superset-frontend/src/views/App.test.tsx           |   125 +
 superset-frontend/src/views/App.tsx                |    28 +-
 superset-websocket/package-lock.json               |   320 +-
 superset-websocket/package.json                    |     4 +-
 superset/charts/data/dashboard_filter_context.py   |     6 +-
 superset/charts/schemas.py                         |    61 +-
 superset/commands/database/exceptions.py           |     9 +-
 superset/commands/database/update.py               |    80 +-
 superset/commands/database/utils.py                |    47 +
 .../commands/deletion_retention/prune_audit.py     |   479 +-
 superset/commands/importers/v1/utils.py            |    19 +
 superset/commands/report/execute.py                |    65 +-
 superset/commands/semantic_layer/update.py         |    55 +-
 superset/common/utils/time_grain_utils.py          |    41 +
 superset/config.py                                 |    44 +-
 superset/connectors/sqla/utils.py                  |    10 +
 superset/dashboards/api.py                         |   340 +-
 superset/dashboards/filter_state/api.py            |     4 +
 superset/dashboards/schemas.py                     |    13 +
 superset/db_engine_specs/README.md                 |     6 +-
 superset/db_engine_specs/base.py                   |    82 +-
 superset/db_engine_specs/databricks.py             |     4 +
 superset/db_engine_specs/gsheets.py                |     1 +
 superset/db_engine_specs/lib.py                    |    22 +-
 superset/db_engine_specs/odps.py                   |    34 +-
 superset/db_engine_specs/pinot.py                  |     4 +
 superset/db_engine_specs/singlestore.py            |     4 +-
 superset/db_engine_specs/snowflake.py              |     1 +
 superset/embedded/view.py                          |     8 +-
 superset/errors.py                                 |     1 +
 superset/explore/form_data/api.py                  |     7 +-
 superset/extensions/metastore_cache.py             |    77 +-
 superset/jinja_context.py                          |     5 +
 superset/mcp_service/README.md                     |     6 +-
 superset/mcp_service/SECURITY.md                   |     2 +-
 superset/mcp_service/__main__.py                   |     4 +-
 superset/mcp_service/app.py                        |    10 +-
 superset/mcp_service/chart/chart_helpers.py        |    64 +-
 superset/mcp_service/chart/chart_utils.py          |   185 +-
 superset/mcp_service/chart/compile.py              |    21 +-
 superset/mcp_service/chart/plugins/__init__.py     |     3 +
 superset/mcp_service/chart/plugins/big_number.py   |     2 +-
 superset/mcp_service/chart/plugins/box_plot.py     |     2 +-
 superset/mcp_service/chart/plugins/bubble.py       |   149 +
 superset/mcp_service/chart/plugins/handlebars.py   |     2 +-
 superset/mcp_service/chart/plugins/histogram.py    |     2 +-
 .../mcp_service/chart/plugins/interactive_pivot.py |     2 +-
 .../mcp_service/chart/plugins/mixed_timeseries.py  |     2 +-
 superset/mcp_service/chart/plugins/pie.py          |     2 +-
 superset/mcp_service/chart/plugins/pivot_table.py  |     2 +-
 superset/mcp_service/chart/plugins/table.py        |     2 +-
 superset/mcp_service/chart/plugins/treemap.py      |    12 +-
 superset/mcp_service/chart/plugins/waterfall.py    |     2 +-
 superset/mcp_service/chart/plugins/xy.py           |     2 +-
 superset/mcp_service/chart/preview_utils.py        |    76 +-
 superset/mcp_service/chart/query_result.py         |   113 +-
 superset/mcp_service/chart/schemas.py              |   534 +-
 superset/mcp_service/chart/tool/generate_chart.py  |     9 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    43 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |   315 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |    43 +-
 .../chart/tool/get_chart_type_schema.py            |    40 +-
 superset/mcp_service/chart/tool/update_chart.py    |    30 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    51 +-
 superset/mcp_service/chart/treemap_preview.py      |   297 +
 superset/mcp_service/constants.py                  |     2 +-
 superset/mcp_service/dashboard/schemas.py          |    15 +-
 superset/mcp_service/dataset/schemas.py            |    13 +-
 superset/mcp_service/explore/schemas.py            |     5 +-
 .../explore/tool/generate_explore_link.py          |     3 +-
 superset/mcp_service/mcp_config.py                 |    23 +-
 superset/mcp_service/middleware.py                 |   208 +-
 superset/mcp_service/semantic_layer/schemas.py     |    29 +-
 superset/mcp_service/sql_lab/schemas.py            |    18 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    19 -
 .../{token_utils.py => response_size_utils.py}     |   319 +-
 superset/mcp_service/utils/response_utils.py       |     8 +-
 superset/mcp_service/utils/serialization.py        |   225 +
 superset/migrations/shared/security_converge.py    |    34 +
 ...4fb8bfc1_delete_deprecated_permissions_33272.py |   153 +
 ...a4572f8a_rename_deprecated_permissions_33272.py |   193 +
 ...e6_merge_deprecated_permissions_with_master.py} |    12 +-
 ...merge_deprecated_permissions_with_master_v2.py} |    12 +-
 ...merge_deprecated_permissions_with_master_v3.py} |    12 +-
 superset/models/dashboard.py                       |    60 +-
 superset/models/helpers.py                         |    13 +
 superset/models/sql_lab.py                         |    11 +-
 superset/security/api.py                           |    13 +-
 superset/security/manager.py                       |   425 +-
 superset/security/password_change.py               |    11 +-
 superset/security/session_invalidation.py          |    16 +-
 superset/semantic_layers/models.py                 |     3 +
 superset/sql/dialects/__init__.py                  |     2 +
 superset/sql/dialects/databend.py                  |   604 +
 superset/sql/execution/executor.py                 |     4 +-
 superset/sql/parse.py                              |    44 +-
 superset/sql_lab.py                                |    11 +-
 superset/sql_validators/__init__.py                |     3 +-
 superset/sql_validators/postgres.py                |    59 -
 superset/tasks/thumbnails.py                       |    66 +-
 superset/temporary_cache/api.py                    |     3 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |  2283 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |  2224 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |  2219 +-
 superset/translations/de/LC_MESSAGES/messages.po   |  2225 +-
 superset/translations/en/LC_MESSAGES/messages.po   |  2121 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  2222 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |  2217 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |  2480 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  2984 +-
 superset/translations/it/LC_MESSAGES/messages.po   | 50831 ++++++++++---------
 superset/translations/ja/LC_MESSAGES/messages.po   |  2141 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |  2495 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |  2224 +-
 superset/translations/messages.pot                 |  2141 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |  2228 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |  2219 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |  2216 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |  2358 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  2220 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |  2227 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |  2220 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |  2219 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |  3340 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |  2321 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |  2315 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |  5416 +-
 superset/translations/th/LC_MESSAGES/messages.po   |  2458 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |  2175 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |  2222 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |  2311 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  2189 +-
 superset/utils/error_sanitization.py               |     1 +
 superset/utils/network.py                          |   115 +
 superset/utils/pandas_postprocessing/utils.py      |    15 +-
 superset/utils/report_execution.py                 |    93 +
 superset/utils/screenshot_utils.py                 |   383 +-
 superset/utils/screenshots.py                      |   418 +-
 superset/utils/webdriver.py                        |   323 +-
 superset/views/error_handling.py                   |    18 +-
 superset/views/utils.py                            |    12 +
 tests/integration_tests/dashboards/api_tests.py    |  1445 +-
 tests/integration_tests/databases/api_tests.py     |   100 +-
 .../deletion_retention/prune_audit_tests.py        |   227 +-
 tests/integration_tests/embedded/test_view.py      |    23 +
 .../extensions/metastore_cache_test.py             |    80 +
 .../commands/execute_dashboard_report_tests.py     |     9 +-
 tests/integration_tests/reports/commands_tests.py  |     3 +
 tests/integration_tests/security/api_tests.py      |    28 +
 tests/integration_tests/sql_validator_tests.py     |    36 -
 tests/testcontainers/db_engine_specs/test_db2.py   |    16 +-
 tests/unit_tests/charts/test_chart_data_api.py     |    62 +-
 tests/unit_tests/charts/test_schemas.py            |    92 +-
 tests/unit_tests/commands/databases/update_test.py |   209 +-
 tests/unit_tests/commands/databases/utils_test.py  |    58 +
 .../commands/databases/validate_sql_test.py        |    49 +-
 .../deletion_retention/test_prune_audit.py         |   728 +-
 .../unit_tests/commands/importers/v1/utils_test.py |    96 +-
 tests/unit_tests/commands/report/execute_test.py   |   318 +-
 .../commands/semantic_layer/update_test.py         |    96 +
 tests/unit_tests/connectors/sqla/models_test.py    |    19 +
 tests/unit_tests/connectors/sqla/utils_test.py     |    27 +-
 tests/unit_tests/dashboards/datasets_test.py       |   353 +
 .../unit_tests/dashboards/filter_state_api_test.py |    56 +
 tests/unit_tests/databases/api_test.py             |    77 +
 tests/unit_tests/db_engine_specs/test_base.py      |   243 +-
 .../unit_tests/db_engine_specs/test_databricks.py  |    66 +-
 .../db_engine_specs/test_databricks_multi_cloud.py |     4 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |    27 +-
 tests/unit_tests/db_engine_specs/test_lib.py       |    84 +
 tests/unit_tests/db_engine_specs/test_odps.py      |    19 +
 tests/unit_tests/db_engine_specs/test_pinot.py     |    41 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |     7 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |     7 +-
 tests/unit_tests/explore/form_data_api_test.py     |    80 +
 tests/unit_tests/jinja_context_test.py             |   120 +
 .../mcp_service/chart/test_bubble_chart.py         |   471 +
 .../mcp_service/chart/test_chart_utils.py          |    73 +
 .../chart/test_time_grain_generic_axes.py          |   365 +
 .../mcp_service/chart/test_treemap_completeness.py |  1373 +
 .../mcp_service/chart/tool/test_generate_chart.py  |    41 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |   266 +-
 .../chart/tool/test_get_chart_info_permalink.py    |   454 +
 .../chart/tool/test_get_chart_preview.py           |   117 +
 .../chart/tool/test_get_chart_type_schema.py       |    26 +
 .../validation/test_column_name_normalization.py   |    60 +
 .../explore/tool/test_generate_explore_link.py     |    49 +
 .../semantic_layer/tool/test_list_metrics.py       |    62 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |   104 +-
 .../mcp_service/test_mcp_tool_registration.py      |     2 +-
 tests/unit_tests/mcp_service/test_middleware.py    |   227 +-
 .../mcp_service/test_response_serialization.py     |   321 +
 ..._token_utils.py => test_response_size_utils.py} |   265 +-
 .../mcp_service/utils/test_serialization.py        |   294 +
 .../migrations/shared/security_converge_test.py    |   218 +
 .../test_deprecated_permissions_33272.py           |   420 +
 tests/unit_tests/models/sql_lab_test.py            |    62 +-
 .../pandas_postprocessing/test_aggregate.py        |    21 +
 .../scheduled_docker_image_refresh_test.py         |    65 -
 tests/unit_tests/scripts/docker_cache_ref_test.py  |    90 +
 .../scripts/translations/check_pot_drift_test.py   |   156 +
 tests/unit_tests/security/manager_test.py          |   508 +-
 tests/unit_tests/security/test_password_change.py  |    68 +-
 .../security/test_permission_instructions_link.py  |     2 +
 .../security/test_session_invalidation.py          |    18 +
 tests/unit_tests/semantic_layers/models_test.py    |    45 +
 .../sql/dialects/databend_function_catalogue.txt   |   741 +
 tests/unit_tests/sql/dialects/databend_tests.py    |  1553 +
 tests/unit_tests/sql/execution/test_executor.py    |    58 +
 tests/unit_tests/sql_lab_test.py                   |    72 +
 tests/unit_tests/subjects/test_filters.py          |    25 +
 tests/unit_tests/subjects/test_raise_for_access.py |    82 +
 tests/unit_tests/tasks/test_thumbnails.py          |    75 +
 tests/unit_tests/utils/screenshot_test.py          |   279 +
 tests/unit_tests/utils/test_network.py             |    81 +-
 tests/unit_tests/utils/test_report_execution.py    |    64 +
 .../unit_tests/utils/test_screenshot_cache_fix.py  |    79 +
 tests/unit_tests/utils/test_screenshot_utils.py    |   455 +-
 tests/unit_tests/utils/webdriver_test.py           |   450 +-
 tests/unit_tests/views/test_error_handling.py      |   136 +-
 tests/unit_tests/views/test_utils.py               |    69 +-
 381 files changed, 110527 insertions(+), 44032 deletions(-)
 delete mode 100644 .github/workflows/scheduled-docker-image-refresh.yml
 create mode 100644 scripts/docker-build-plan.sh
 create mode 100644 scripts/docker-publish-guard.sh
 create mode 100644 scripts/translations/check_pot_drift.py
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/chart/components/Matrixify/virtualizationEvents.ts
 create mode 100644 
superset-frontend/packages/superset-ui-core/test/connection/SupersetClientCsrfRecovery.test.ts
 create mode 100644 
superset-frontend/playwright/tests/dashboard/native-filters.spec.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-country-map/test/russia.geojson.test.ts
 copy 
superset-frontend/src/components/ErrorMessage/{FrontendNetworkErrorMessage.test.tsx
 => CsrfErrorMessage.test.tsx} (59%)
 copy 
superset-frontend/src/components/ErrorMessage/{FrontendNetworkErrorMessage.tsx 
=> CsrfErrorMessage.tsx} (68%)
 create mode 100644 
superset-frontend/src/features/userInfo/UserInfoModal.test.tsx
 create mode 100644 
superset-frontend/src/filters/components/Time/TimeFilterPlugin.test.tsx
 create mode 100644 superset-frontend/src/views/App.test.tsx
 create mode 100644 superset/common/utils/time_grain_utils.py
 create mode 100644 superset/mcp_service/chart/plugins/bubble.py
 create mode 100644 superset/mcp_service/chart/treemap_preview.py
 rename superset/mcp_service/utils/{token_utils.py => response_size_utils.py} 
(81%)
 create mode 100644 superset/mcp_service/utils/serialization.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-00_1f5f4fb8bfc1_delete_deprecated_permissions_33272.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-01_3ce9a4572f8a_rename_deprecated_permissions_33272.py
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-16_00-01_2ce579e91ae6_merge_deprecated_permissions_with_master.py} (79%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-17_00-00_53a7abc31422_merge_deprecated_permissions_with_master_v2.py} 
(76%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-23_00-00_95d8a99c822e_merge_deprecated_permissions_with_master_v3.py} 
(76%)
 create mode 100644 superset/sql/dialects/databend.py
 delete mode 100644 superset/sql_validators/postgres.py
 create mode 100644 tests/unit_tests/dashboards/datasets_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_lib.py
 create mode 100644 tests/unit_tests/explore/form_data_api_test.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_bubble_chart.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_time_grain_generic_axes.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_treemap_completeness.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/tool/test_get_chart_info_permalink.py
 create mode 100644 tests/unit_tests/mcp_service/test_response_serialization.py
 rename tests/unit_tests/mcp_service/utils/{test_token_utils.py => 
test_response_size_utils.py} (87%)
 create mode 100644 tests/unit_tests/mcp_service/utils/test_serialization.py
 create mode 100644 tests/unit_tests/migrations/shared/security_converge_test.py
 create mode 100644 
tests/unit_tests/migrations/test_deprecated_permissions_33272.py
 delete mode 100644 tests/unit_tests/scheduled_docker_image_refresh_test.py
 create mode 100644 tests/unit_tests/scripts/docker_cache_ref_test.py
 create mode 100644 
tests/unit_tests/scripts/translations/check_pot_drift_test.py
 create mode 100644 
tests/unit_tests/sql/dialects/databend_function_catalogue.txt
 create mode 100644 tests/unit_tests/sql/dialects/databend_tests.py

Reply via email to