You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by di...@apache.org on 2025/06/12 14:37:58 UTC

(superset) branch geido/chore/accessibility-phase-1 updated (0f094e33e2 -> 2f45788179)

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

diegopucci pushed a change to branch geido/chore/accessibility-phase-1
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 0f094e33e2 chore(Accessibility): Improve keyboard navigation and screen access
     add a391ebecca feat: Run SQL on DataSourceEditor implementation (#33340)
     add 9e38a0cc29 docs: fix for role sync issues in case of custom OAuth2 configuration (#30878)
     add 22475e787e feat(Table Chart): Row limit Increase , Backend Sorting , Backend Search , Excel/CSV Improvements (#33357)
     add 73701b7295 fix(embedded): handle SUPERSET_APP_ROOT in embedded dashboard URLs (#33356)
     add 33e48146b0 chore: Add missing ECharts tags (#33397)
     add 21ca26acd7 fix(Row): don't unload charts while embedded to reduce rerenders (#33422)
     add 7f14e434c8 fix: loading examples in CI returns http error "too many requests" (#33412)
     add 29ac507d56 fix(deckgl): fix deckgl multiple layers chart filter and viewport (#33364)
     add dc4474889d fix(table-chart): time shift is not working (#33425)
     add 8a8fb49617 docs: CVEs fixed on 4.1.2 (#33435)
     add fa1693dc5f feat(Pie Chart): threshold for Other (#33348)
     add fbc84a1f9a chore(🦾): bump python shillelagh subpackage(s) (#33278)
     add 928a052440 chore(deps): bump express from 4.21.2 to 5.1.0 in /superset-websocket/utils/client-ws-app (#32948)
     add 9f680a63f8 fix(NativeFilters): Apply existing values (#33467)
     add d12f86363f docs(installation): show example of extending Docker image (#33472)
     add 0bdd8a223d docs: added europace to INTHEWILD.md (#33458)
     add b050897ebd fix: allow metadata to parse json (#33444)
     add 1921ba993e fix(dependabot): adds required schedule to uv updates (#33475)
     add e03d840d06 chore(deps-dev): bump @babel/preset-env from 7.26.7 to 7.27.2 in /superset-frontend (#33499)
     add e520538af6 chore(deps): bump antd from 5.24.9 to 5.25.1 in /docs (#33490)
     add 0f240ea1b2 chore(deps-dev): bump webpack from 5.99.7 to 5.99.8 in /docs (#33492)
     add be41e0526a chore(deps-dev): bump eslint-config-prettier from 10.1.2 to 10.1.5 in /docs (#33491)
     add 51c25831e8 chore(deps): bump debug from 4.4.0 to 4.4.1 in /superset-websocket/utils/client-ws-app (#33476)
     add af21ef2497 chore(deps): bump ace-builds from 1.37.5 to 1.41.0 in /superset-frontend (#33498)
     add 217f11a8f7 fix(table): table ui fixes (#33494)
     add 76358ed64e chore(fab): bumped fab from 4.6.3 to 4.6.4 (#33469)
     add 0653e123cc feat(chart): add dynamicQueryObjectCount property to Chart Metadata (#33451)
     add 26563bb330 fix: optimize Explore popovers rendering (#33501)
     add 39b3de6b5d fix(CI): adding explicit allowable licenses for python dependencies  (#33521)
     add ca9e74edd8 chore(Icons): Additional Ant Design Icons (#33539)
     add b4e2406385 fix(Sqllab):  Autocomplete got stuck in UI when open it too fast (#33522)
     add e2a22d481c fix(Select): Add buttonStyle prop for backward compatibility (#33543)
     add 950a3313d8 fix(table):  table sort by fix (#33540)
     add c03964dc5f chore: remove useless-suppression (#33549)
     add b7d3ff1e85 fix(user settings): Update forked cosmo theme to resolve down chevron in caret style (#30514) (#30577)
     add 875f538d54 fix: text => JSON migration util (#33516)
     add 5b2f1bbf9e feat(stack by dimension): add a stack by dimension dropdown list (#32707)
     add 546945e7a6 fix(AllEntities): Display action buttons according to the user permissions (#33553)
     add adeed60fe0 feat: implement limit extraction in sqlglot (#33456)
     add 8013b32f0e chore: remove is_select_query (#33457)
     add 38868f9ff4 fix(sankey): incorrect nodeValues (#33431)
     add d932837a3c chore(deps-dev): bump eslint from 9.17.0 to 9.27.0 in /superset-websocket (#33477)
     add 513047c3bb chore(deps): bump less-loader from 11.1.4 to 12.3.0 in /docs (#33488)
     add 630e0e0240 chore(deps-dev): bump babel-loader from 9.2.1 to 10.0.0 in /superset-frontend (#33489)
     add 0c89914a6d chore(deps-dev): bump eslint-config-prettier from 9.1.0 to 10.1.5 in /superset-websocket (#33478)
     add c928f23e1b docs(docker build): add more packages needed for production features (#33566)
     add 57183da315 fix: Adjust viz migrations to also migrate the queries object (#33285)
     add bdfb698aa4 fix(Radar): Radar chart normalisation (#33559)
     add 1409b1a25b fix: correct typos (#33586)
     add cc8ab2c556 chore(alerts & reports): increase Playwright timeout from 30 -> 60 seconds (#33567)
     add 8de58b9848 feat: use sqlglot to set limit (#33473)
     add ce9759785a fix: Missing processor context when rendering Jinja (#33596)
     add b7ba50033a fix: Makes time compare migration more resilient (#33592)
     add 1393f7d3d2 chore: sql/parse cleanup (#33515)
     add 0fa3feb088 chore: remove parse_sql (#33474)
     add deef923825 feat(Action Logs): Migrate Action Log FAB to React (#33298)
     add e205846845 feat: implement CTEs logic in sqlglot (#33518)
     add 0abe6eed89 feat: implement RLS in sqlglot (#33524)
     add ea5a609d0b feat: implement CVAS/CTAS in sqlglot (#33525)
     add f0b6e87091 chore: update Dockerfile - Upgrade to 3.11.12 (#33612)
     add a4bb11c755 chore: bump FAB to 4.7.0 (#33607)
     add 429935a277 fix(big number with trendline): add None option to the aggregation method dropdown (#33407)
     add e20a08cb14 fix: add query identifier to legend items in mixed time series charts (#33519)
     add fdea4e21b0 feat: current_user_rls_rules Jinja macro (#33614)
     add 235c9d2ebf chore(deps-dev): bump fastify from 4.29.0 to 4.29.1 in /superset-frontend (#33622)
     add ed20d2a917 fix(Security): Apply permissions to the AllEntities list/get_objects API endpoint (#33577)
     add f219dc1794 chore: make DB syntax errors 400 (#33619)
     add cf315388f2 feat(sqllab): use sqlglot instead of sqlparse (#33542)
     add 401ce56fa1 feat: use sqlglot to validate adhoc subquery (#33560)
     add c09f8f6f76 fix(sqllab): save datasets with template parameters (#33195)
     add b033406387 docs: CVE-2025-48912 added to 4.1.2 (#33662)
     add 2d26af25c1 feat: Python 3.12 support (#33434)
     add ade85daee2 feat(database): add SingleStore engine specification (#32887)
     add fc13a0fde5 docs: add HPE to users list (#33665)
     add fa0c5891bf feat(List Groups): Migrate List Groups FAB to React (#33301)
     add cacf1e06d6 fix: Update dataset's last modified date from column/metric update (#33626)
     add 20519158d2 feat(UserInfo): Migrate User Info FAB to React (#33620)
     add ff34e3c81e fix: optimize catalog permission sync when importing dashboards (#33679)
     add a7aa8f7cef feat(Dataset): editor improvements - run in sqllab (#33443)
     add a26e1d822a chore: remove sqlparse (#33564)
     add c9518485ba fix: Do not convert dataset changed_on to UTC (#33693)
     add edc60914f6 chore: 100% test coverage for SQL parsing (#33568)
     add cc3460832f fix(template_processing): get_filters now works for IS_NULL and IS_NOT_NULL operators (#33296)
     add a6af4f4d7a chore: simplify query cleanup using dict.pop instead of suppressing exception (#33661)
     add b00660acf1 chore: update sqlglot dialect map (#33701)
     add b3f436a030 chore: remove unused parameter (#33704)
     add 5541dad32b fix(compose): environment entries in compose*.yml override values in docker/.env (#33700)
     add da8efd36d7 docs: clarify how `requirements/` should be modified (#33714)
     add 3256008a59 chore: delete remaining Enzyme tests (#33715)
     add 08655a7559 fix: Migrate charts with empty query_context (#33710)
     add 2fba789e8d fix(dataset): prevent metric duplication error when editing SQL and adding metric (#33523)
     add 57bb425fb0 fix(dashboard): show dashboard thumbnail images when retrieved (#33726)
     add 3ef92e5610 fix(Alerts & reports): invalid "Last updated" time formatting (#33719)
     add 6513445000 docs: fix typo and improve alt text in README (#33721)
     add 2f007bf7a5 fix: typo in SQL dialect map (#33727)
     add d11b6d557e feat(MixedTimeSeries): Add onlyTotal and Sort Series to Mixed TimeSeries (#33634)
     add 3a3984006c chore(explore): Add format sql and view in SQL Lab option in View Query (#33341)
     add fc7ba060c1 feat(clickhouse): allow dynamic schema (#32610)
     add 5f2f12d347 chore(deps-dev): bump @typescript-eslint/parser from 8.29.0 to 8.33.0 in /superset-websocket (#33650)
     add ae6c072661 chore(deps-dev): bump @docusaurus/tsconfig from 3.7.0 to 3.8.0 in /docs (#33645)
     add ca74ae75a6 chore(deps-dev): bump webpack from 5.99.8 to 5.99.9 in /docs (#33643)
     add bb6bd85c1d fix(chart): set tab name as chart name (#33694)
     add 86e7139245 fix: Dataset currency (#33682)
     add e05ccb3824 feat: x axis interval control to show ALL ticks on timeseries charts (#33729)
     add 59e3645c17 fix: clarify GUEST_TOKEN_JWT_AUDIENCE usage in the SDK (#33673)
     add bce3d4f19e fix(explore): add gap to the "Cached" button (#33717)
     add a64b9ac84f fix(dataset): Fix plural toast messages (#33743)
     add e6af4ea126 feat(DatasourceEditor): Format sql shortcut and bigger table (#33709)
     add 6bd37c5398 Merge branch 'master' of https://github.com/apache/superset into geido/chore/accessibility-phase-1
     add 2f45788179 fix(CI): Lint and type

No new revisions were added by this update.

Summary of changes:
 .coveragerc                                        |   36 +
 .github/dependabot.yml                             |    2 +
 .github/workflows/dependency-review.yml            |    2 +
 .github/workflows/pre-commit.yml                   |    2 +-
 .github/workflows/superset-docs-verify.yml         |    2 +-
 .../workflows/superset-python-integrationtest.yml  |    2 +-
 .github/workflows/superset-python-unittest.yml     |    9 +-
 Dockerfile                                         |    2 +-
 README.md                                          |    4 +-
 RESOURCES/INTHEWILD.md                             |    2 +
 docker-compose-image-tag.yml                       |    9 -
 docker-compose-non-dev.yml                         |    9 -
 docker-compose.yml                                 |   13 -
 docs/docs/configuration/configuring-superset.mdx   |    9 +
 docs/docs/configuration/databases.mdx              |   13 +-
 docs/docs/configuration/sql-templating.mdx         |    8 +
 docs/docs/installation/docker-builds.mdx           |   50 +
 docs/docs/installation/installation-methods.mdx    |    4 +-
 docs/docs/security/cves.mdx                        |    7 +
 docs/package.json                                  |   10 +-
 docs/yarn.lock                                     |   70 +-
 pyproject.toml                                     |   21 +-
 requirements/README.md                             |   13 +
 requirements/base.in                               |    3 +
 requirements/base.txt                              |   74 +-
 requirements/development.txt                       |   77 +-
 superset-embedded-sdk/README.md                    |   14 +-
 .../e2e/explore/visualizations/table.test.ts       |  211 +++
 superset-frontend/package-lock.json                | 1208 +++++-------
 superset-frontend/package.json                     |   11 +-
 .../superset-ui-chart-controls/package.json        |    1 -
 .../superset-ui-chart-controls/src/constants.ts    |    1 +
 .../src/operators/aggregateOperator.ts             |    2 +-
 .../src/shared-controls/customControls.tsx         |    5 +-
 .../superset-ui-chart-controls/src/types.ts        |    1 +
 .../packages/superset-ui-core/package.json         |    1 -
 .../src/chart/models/ChartMetadata.ts              |    5 +
 .../src/connection/callApi/parseResponse.ts        |   15 +-
 .../superset-ui-core/src/validator/index.ts        |    1 +
 ...idateInteger.ts => validateServerPagination.ts} |   24 +-
 .../test/connection/callApi/parseResponse.test.ts  |    3 +-
 .../validator/validateServerPagination.test.ts     |  153 ++
 .../packages/superset-ui-demo/package.json         |    4 +-
 .../legacy-preset-chart-deckgl/src/Multi/Multi.tsx |   71 +-
 .../src/layers/Arc/Arc.tsx                         |    2 +-
 .../src/layers/Contour/Contour.tsx                 |    2 +-
 .../src/layers/Geojson/Geojson.tsx                 |   27 +-
 .../src/layers/Grid/Grid.tsx                       |    2 +-
 .../src/layers/Heatmap/Heatmap.tsx                 |    2 +-
 .../src/layers/Hex/Hex.tsx                         |    2 +-
 .../src/layers/Path/Path.tsx                       |    2 +-
 .../src/layers/Polygon/Polygon.tsx                 |    6 +-
 .../src/layers/Scatter/Scatter.tsx                 |    2 +-
 .../src/layers/Screengrid/Screengrid.tsx           |    2 +-
 .../plugins/legacy-preset-chart-nvd3/package.json  |    2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/index.ts   |    1 +
 .../src/BigNumber/BigNumberTotal/index.ts          |    1 +
 .../BigNumberWithTrendline/buildQuery.test.ts      |   86 +
 .../BigNumber/BigNumberWithTrendline/buildQuery.ts |   34 +-
 .../src/BigNumber/BigNumberWithTrendline/index.ts  |    1 +
 .../plugin-chart-echarts/src/Bubble/constants.ts   |    1 +
 .../src/Bubble/controlPanel.tsx                    |    2 +
 .../src/Bubble/transformProps.ts                   |    2 +
 .../src/MixedTimeseries/controlPanel.tsx           |   51 +
 .../src/MixedTimeseries/transformProps.ts          |   92 +-
 .../src/MixedTimeseries/types.ts                   |    2 +
 .../plugin-chart-echarts/src/Pie/buildQuery.ts     |   18 +-
 .../plugin-chart-echarts/src/Pie}/constants.ts     |    3 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |   17 +
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   87 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |   12 +
 .../src => plugin-chart-echarts/src/Pie}/utils.ts  |    7 +-
 .../src/Radar/transformProps.ts                    |  117 +-
 .../plugin-chart-echarts/src/Radar/types.ts        |   17 +-
 .../plugin-chart-echarts/src/Radar/utils.ts        |   92 +
 .../plugin-chart-echarts/src/Sankey/index.ts       |    2 +-
 .../src/Sankey/transformProps.ts                   |   22 +-
 .../src/Timeseries/Area/controlPanel.tsx           |    2 +
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |   48 +-
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |    2 +
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |    2 +
 .../Timeseries/Regular/SmoothLine/controlPanel.tsx |    2 +
 .../src/Timeseries/Step/controlPanel.tsx           |    2 +
 .../src/Timeseries/constants.ts                    |    1 +
 .../plugin-chart-echarts/src/Timeseries/index.ts   |    1 +
 .../src/Timeseries/transformProps.ts               |   20 +
 .../plugin-chart-echarts/src/Timeseries/types.ts   |    2 +
 .../plugins/plugin-chart-echarts/src/controls.tsx  |   17 +
 .../plugins/plugin-chart-echarts/src/defaults.ts   |    1 +
 .../src/utils/metricDisplayName.ts                 |   59 +
 .../test/MixedTimeseries/transformProps.test.ts    |   13 +-
 .../test/Pie/transformProps.test.ts                |   85 +-
 .../test/Radar/transformProps.test.ts              |  127 ++
 .../plugin-chart-table/src/DataTable/DataTable.tsx |  130 +-
 .../src/DataTable/components/GlobalFilter.tsx      |   62 +-
 .../DataTable/components/SearchSelectDropdown.tsx} |   59 +-
 .../src/DataTable/types/react-table.d.ts           |    8 +
 .../src/DataTable/utils/externalAPIs.ts            |    9 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |  141 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |   70 +-
 .../plugins/plugin-chart-table/src/consts.ts       |    4 +
 .../plugin-chart-table/src/controlPanel.tsx        |   88 +-
 .../plugin-chart-table/src/transformProps.ts       |   42 +-
 .../plugins/plugin-chart-table/src/types.ts        |   26 +-
 .../scripts/eslint-metrics-uploader.js             |    2 +-
 superset-frontend/spec/helpers/shim.tsx            |    5 -
 superset-frontend/spec/helpers/theming.ts          |   44 -
 .../spec/helpers/waitForComponentToPaint.ts        |   34 -
 superset-frontend/src/SqlLab/actions/sqlLab.js     |    4 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |   85 +
 .../SqlLab/components/SaveDatasetModal/index.tsx   |   48 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |   77 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |    2 +-
 superset-frontend/src/SqlLab/types.ts              |    1 +
 .../assets/stylesheets/less/cosmo/bootswatch.less  |   15 -
 .../src/components/AsyncAceEditor/Tooltip.test.tsx |   36 +-
 .../src/components/AsyncAceEditor/Tooltip.tsx      |   48 +-
 .../src/components/AsyncAceEditor/index.tsx        |   47 +-
 .../src/components/CachedLabel/index.tsx           |   11 +-
 .../src/components/Chart/ChartRenderer.jsx         |    5 +
 .../src/components/Datasource/DatasourceEditor.jsx |  355 +++-
 .../Datasource/DatasourceEditor.test.jsx           |    9 +-
 .../components/Datasource/DatasourceModal.test.jsx |   14 +-
 .../src/components/Datasource/DatasourceModal.tsx  |   47 +-
 .../src/components/Datasource/Field.test.tsx       |   15 +-
 .../src/components/Datasource/Field.tsx            |   63 +-
 .../src/components/Datasource/utils.js             |    7 +-
 .../src/components/Datasource/utils.test.tsx       |    7 +
 .../components/{Tags => Descriptions}/index.tsx    |    4 +-
 .../components/IconTooltip/IconTooltip.stories.tsx |   26 +-
 .../src/components/Icons/AntdEnhanced.tsx          |   14 +
 .../src/components/Modal/FormModal.tsx             |    2 +-
 superset-frontend/src/components/Modal/Modal.tsx   |    4 +-
 superset-frontend/src/components/Select/Select.tsx |    2 +
 superset-frontend/src/constants.ts                 |    5 +
 .../PropertiesModal/PropertiesModal.test.jsx       |  335 ----
 .../dashboard/components/gridComponents/Row.jsx    |    6 +-
 .../src/dashboard/containers/DashboardPage.tsx     |    4 +-
 .../Role.ts => dashboard/util/isEmbedded.ts}       |   12 +-
 superset-frontend/src/database/actions.ts          |   88 +
 superset-frontend/src/database/reducers.ts         |   63 +
 .../{types/TaggedObject.ts => database/types.ts}   |   51 +-
 superset-frontend/src/embedded/index.tsx           |    5 +-
 .../src/explore/actions/hydrateExplore.test.ts     |   48 +
 .../src/explore/actions/hydrateExplore.ts          |    9 +
 .../DataTablesPane/components/useResultsPane.tsx   |   33 +-
 .../test/ResultsPaneOnDashboard.test.tsx           |   29 +
 .../components/ExploreViewContainer/index.jsx      |    9 +
 .../controls/NumberControl/NumberControl.test.tsx  |   67 +
 .../components/controls/NumberControl/index.tsx    |   78 +
 .../components/controls/TextAreaControl.jsx        |   21 +-
 .../explore/components/controls/ViewQuery.test.tsx |  158 ++
 .../src/explore/components/controls/ViewQuery.tsx  |  144 +-
 .../explore/components/controls/ViewQueryModal.tsx |   15 +-
 .../src/explore/components/controls/index.js       |    2 +
 .../src/explore/controlUtils/getColumnKeywords.tsx |    7 +-
 .../src/explore/reducers/exploreReducer.js         |   47 +
 .../features/allEntities/AllEntitiesTable.test.tsx |   50 +-
 .../src/features/allEntities/AllEntitiesTable.tsx  |   45 +-
 .../annotationLayers/AnnotationLayerModal.test.jsx |   91 -
 .../features/annotations/AnnotationModal.test.jsx  |   99 -
 .../cssTemplates/CssTemplateModal.test.jsx         |   92 -
 .../src/features/dashboards/DashboardCard.tsx      |    2 +-
 .../databases/DatabaseModal/ExtraOptions.test.tsx  |  194 ++
 .../databases/DatabaseModal/ExtraOptions.tsx       |    5 +-
 .../src/features/groups/GroupListModal.tsx         |  164 ++
 .../src/features/{users => groups}/types.ts        |   12 +-
 superset-frontend/src/features/groups/utils.ts     |   74 +
 .../src/features/home/SavedQueries.test.tsx        |  112 --
 .../features/queries/QueryPreviewModal.test.tsx    |  182 --
 .../queries/SavedQueryPreviewModal.test.jsx        |  136 --
 .../src/features/roles/RoleFormItems.tsx           |   35 +-
 .../src/features/roles/RoleListAddModal.tsx        |    6 +-
 .../features/roles/RoleListDuplicateModal.test.tsx |    1 +
 .../src/features/roles/RoleListDuplicateModal.tsx  |    6 +-
 .../src/features/roles/RoleListEditModal.test.tsx  |   55 +
 .../src/features/roles/RoleListEditModal.tsx       |  144 +-
 superset-frontend/src/features/roles/types.ts      |    8 +-
 superset-frontend/src/features/roles/utils.ts      |    6 +
 superset-frontend/src/features/tags/tags.ts        |   14 -
 .../src/features/userInfo/UserInfoModal.tsx        |  150 ++
 .../src/features/users/UserListModal.tsx           |   57 +-
 superset-frontend/src/features/users/utils.ts      |   22 +-
 .../components/Select/SelectFilterPlugin.tsx       |   10 +-
 .../src/hooks/apiResources/dashboards.test.ts      |   89 +
 .../src/hooks/apiResources/dashboards.ts           |   17 +-
 superset-frontend/src/pages/ActionLog/index.tsx    |  282 +++
 superset-frontend/src/pages/AllEntities/index.tsx  |   26 +-
 .../pages/AnnotationList/AnnotationList.test.jsx   |  162 --
 .../src/pages/DatabaseList/DatabaseList.test.jsx   |  248 ---
 .../__snapshots__/DatabaseList.test.jsx.snap       |   15 -
 .../src/pages/DatasetList/DatasetList.test.tsx     |  331 ----
 .../src/pages/GroupsList/GroupsList.test.tsx       |  165 ++
 superset-frontend/src/pages/GroupsList/index.tsx   |  459 +++++
 .../QueryHistoryList/QueryHistoryList.test.tsx     |  174 --
 .../src/pages/RolesList/RolesList.test.tsx         |    6 +-
 superset-frontend/src/pages/RolesList/index.tsx    |  165 +-
 .../src/pages/SqlLab/LocationContext.tsx           |   22 +-
 .../src/pages/UserInfo/UserInfo.test.tsx           |  126 ++
 superset-frontend/src/pages/UserInfo/index.tsx     |  238 +++
 superset-frontend/src/pages/UsersList/index.tsx    |  147 +-
 superset-frontend/src/types/bootstrapTypes.ts      |    1 +
 superset-frontend/src/utils/datasourceUtils.js     |    1 +
 superset-frontend/src/utils/dates.ts               |    2 +
 superset-frontend/src/utils/fetchOptions.ts        |  113 ++
 superset-frontend/src/views/routes.tsx             |   19 +
 superset-frontend/src/views/store.ts               |    3 +-
 superset-websocket/package-lock.json               |  422 +++--
 superset-websocket/package.json                    |    6 +-
 superset-websocket/src/index.ts                    |    2 +-
 .../utils/client-ws-app/package-lock.json          | 1282 +++++++------
 .../utils/client-ws-app/package.json               |    4 +-
 superset/charts/data/api.py                        |    3 +-
 superset/commands/database/test_connection.py      |    6 +-
 superset/commands/database/uploaders/base.py       |    2 +-
 superset/commands/database/utils.py                |   19 +-
 superset/commands/database/validate.py             |    2 +-
 superset/commands/dataset/create.py                |    2 +-
 superset/commands/dataset/duplicate.py             |    2 +-
 superset/commands/dataset/exceptions.py            |    2 +-
 superset/commands/dataset/importers/v1/utils.py    |    2 +-
 superset/commands/dataset/update.py                |    2 +-
 superset/commands/sql_lab/execute.py               |    2 +-
 superset/commands/sql_lab/export.py                |    9 +-
 superset/common/query_context_factory.py           |   13 +-
 superset/common/query_object.py                    |   29 +-
 superset/common/query_object_factory.py            |   25 +-
 superset/config.py                                 |   13 +-
 superset/connectors/sqla/models.py                 |   23 +-
 superset/connectors/sqla/utils.py                  |    3 +-
 superset/daos/dataset.py                           |    8 +-
 superset/daos/tag.py                               |  192 +-
 superset/databases/api.py                          |    2 +-
 superset/databases/decorators.py                   |    2 +-
 superset/databases/utils.py                        |    2 +-
 superset/datasets/schemas.py                       |    8 +-
 superset/db_engine_specs/base.py                   |  199 +-
 superset/db_engine_specs/bigquery.py               |    3 +-
 superset/db_engine_specs/clickhouse.py             |   15 +
 superset/db_engine_specs/db2.py                    |    4 +-
 superset/db_engine_specs/firebird.py               |    3 +-
 superset/db_engine_specs/gsheets.py                |    2 +-
 superset/db_engine_specs/hana.py                   |    2 +-
 superset/db_engine_specs/hive.py                   |    3 +-
 superset/db_engine_specs/kusto.py                  |   17 +-
 superset/db_engine_specs/lib.py                    |   20 +-
 superset/db_engine_specs/mssql.py                  |    4 +-
 superset/db_engine_specs/ocient.py                 |    1 -
 superset/db_engine_specs/oracle.py                 |    3 +-
 superset/db_engine_specs/presto.py                 |    2 +-
 superset/db_engine_specs/redshift.py               |    2 +-
 superset/db_engine_specs/singlestore.py            |  549 ++++++
 superset/db_engine_specs/teradata.py               |    6 +-
 superset/db_engine_specs/trino.py                  |    2 +-
 superset/examples/bart_lines.py                    |   10 +-
 superset/examples/birth_names.py                   |    8 +-
 superset/examples/country_map.py                   |   10 +-
 superset/examples/energy.py                        |    8 +-
 superset/examples/flights.py                       |   20 +-
 superset/examples/helpers.py                       |   34 +
 superset/examples/long_lat.py                      |   10 +-
 superset/examples/multiformat_time_series.py       |   10 +-
 superset/examples/paris.py                         |    8 +-
 superset/examples/random_time_series.py            |    7 +-
 superset/examples/sf_population_polygons.py        |    8 +-
 superset/examples/supported_charts_dashboard.py    |    2 +-
 superset/examples/world_bank.py                    |    7 +-
 superset/exceptions.py                             |   56 +-
 superset/extensions/metadb.py                      |    9 +-
 superset/initialization/__init__.py                |   35 +-
 superset/jinja_context.py                          |  111 +-
 superset/migrations/shared/migrate_viz/base.py     |   44 +-
 .../migrations/shared/migrate_viz/processors.py    |  330 +++-
 .../shared/migrate_viz/query_functions.py          | 1507 +++++++++++++++
 superset/migrations/shared/utils.py                |   25 +-
 ...14-38_a9422eeaae74_new_dataset_models_take_2.py |   83 +-
 ...2_convert_metric_currencies_from_str_to_json.py |   84 +
 superset/models/core.py                            |   31 +-
 superset/models/helpers.py                         |  112 +-
 superset/models/sql_lab.py                         |    4 +-
 superset/queries/schemas.py                        |    2 +-
 superset/security/api.py                           |    4 +
 superset/security/manager.py                       |   10 +-
 superset/sql/dialects/firebolt.py                  |   37 +-
 superset/sql/parse.py                              |  895 +++++++--
 superset/sql_lab.py                                |  311 ++--
 superset/sql_parse.py                              |  983 ----------
 superset/sqllab/sqllab_execution_context.py        |   15 +-
 superset/tags/api.py                               |    4 +-
 superset/utils/core.py                             |   35 +-
 superset/utils/date_parser.py                      |   26 +-
 superset/utils/mock_data.py                        |    2 +-
 superset/utils/rls.py                              |  115 ++
 superset/views/all_entities.py                     |    3 +-
 superset/views/base.py                             |    5 +-
 superset/views/datasource/views.py                 |    2 +-
 superset/views/{users_list.py => groups.py}        |    4 +-
 superset/views/log/api.py                          |   19 +-
 superset/views/{users_list.py => logs.py}          |    4 +-
 superset/views/{roles.py => user_info.py}          |    6 +-
 superset/views/users/api.py                        |   86 +-
 superset/views/users/schemas.py                    |   32 +-
 superset/views/utils.py                            |    1 +
 superset/viz.py                                    |   32 +-
 tests/integration_tests/base_tests.py              |    6 +-
 tests/integration_tests/celery_tests.py            |  214 ++-
 tests/integration_tests/charts/data/api_tests.py   |   12 +-
 tests/integration_tests/core_tests.py              |    2 +-
 tests/integration_tests/databases/api_tests.py     |    4 +-
 tests/integration_tests/datasets/api_tests.py      |   48 +-
 tests/integration_tests/datasource_tests.py        |    5 +-
 .../db_engine_specs/ascend_tests.py                |    4 +-
 .../db_engine_specs/base_engine_spec_tests.py      |  122 +-
 .../db_engine_specs/base_tests.py                  |   36 -
 .../db_engine_specs/bigquery_tests.py              |    6 +-
 .../db_engine_specs/databricks_tests.py            |    4 +-
 .../db_engine_specs/elasticsearch_tests.py         |    4 +-
 .../db_engine_specs/gsheets_tests.py               |    4 +-
 .../db_engine_specs/hive_tests.py                  |    4 +-
 .../db_engine_specs/mysql_tests.py                 |    6 +-
 .../db_engine_specs/pinot_tests.py                 |    4 +-
 .../db_engine_specs/postgres_tests.py              |    4 +-
 .../db_engine_specs/presto_tests.py                |    8 +-
 .../db_engine_specs/redshift_tests.py              |    6 +-
 tests/integration_tests/log_api_tests.py           |    4 +-
 tests/integration_tests/log_model_view_tests.py    |   37 -
 ...c747c78868b6_migrating_legacy_treemap__tests.py |   91 -
 tests/integration_tests/model_tests.py             |    8 +-
 tests/integration_tests/query_context_tests.py     |   43 +-
 tests/integration_tests/reports/commands_tests.py  |    2 +-
 .../security/guest_token_security_tests.py         |    3 +-
 tests/integration_tests/security_tests.py          |    3 +-
 tests/integration_tests/sql_lab/api_tests.py       |    6 +-
 tests/integration_tests/sqla_models_tests.py       |    2 +-
 tests/integration_tests/sqllab_tests.py            |  128 +-
 tests/integration_tests/tags/api_tests.py          |  137 +-
 tests/integration_tests/tags/dao_tests.py          |   40 +-
 tests/integration_tests/users/api_tests.py         |   31 +
 tests/unit_tests/commands/dataset/update_test.py   |    2 +-
 .../unit_tests/common/test_query_object_factory.py |   14 +-
 tests/unit_tests/connectors/sqla/models_test.py    |    2 +-
 tests/unit_tests/dao/dataset_test.py               |  101 +-
 tests/unit_tests/databases/api_test.py             |    2 +-
 tests/unit_tests/databases/commands/utils_test.py  |   31 +
 tests/unit_tests/db_engine_specs/test_base.py      |   45 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |    2 +-
 .../unit_tests/db_engine_specs/test_clickhouse.py  |   24 +
 tests/unit_tests/db_engine_specs/test_db2.py       |    2 +-
 .../db_engine_specs/test_elasticsearch.py          |   19 -
 tests/unit_tests/db_engine_specs/test_gsheets.py   |    2 +-
 tests/unit_tests/db_engine_specs/test_kusto.py     |   34 -
 tests/unit_tests/db_engine_specs/test_mssql.py     |   56 +-
 tests/unit_tests/db_engine_specs/test_presto.py    |    2 +-
 .../unit_tests/db_engine_specs/test_singlestore.py |  216 +++
 tests/unit_tests/db_engine_specs/test_teradata.py  |   43 -
 tests/unit_tests/db_engine_specs/test_trino.py     |    2 +-
 tests/unit_tests/jinja_context_test.py             |  127 +-
 .../viz/dual_line_to_mixed_chart_test.py           |    2 +
 .../migrations/viz/heatmap_v1_v2_test.py           |   22 +-
 .../migrations/viz/histogram_v1_v2_test.py         |    2 +
 .../viz/nvd3_bubble_chart_to_echarts_test.py       |    6 +-
 .../migrations/viz/pivot_table_v1_v2_test.py       |    2 +
 .../migrations/viz/time_related_fields_test.py     |    2 +
 tests/unit_tests/migrations/viz/utils.py           |    5 +-
 tests/unit_tests/models/core_test.py               |  143 +-
 tests/unit_tests/models/helpers_test.py            |    2 +-
 tests/unit_tests/security/api_test.py              |    1 +
 tests/unit_tests/security/manager_test.py          |    2 +-
 .../unit_tests/sql/dialects}/__init__.py           |    0
 tests/unit_tests/sql/dialects/firebolt_tests.py    |  433 +++++
 tests/unit_tests/sql/parse_tests.py                | 1676 ++++++++++++++++-
 tests/unit_tests/sql_lab_test.py                   |  261 +--
 tests/unit_tests/sql_parse_tests.py                | 1951 --------------------
 373 files changed, 15619 insertions(+), 9564 deletions(-)
 create mode 100644 .coveragerc
 create mode 100644 requirements/README.md
 copy superset-frontend/packages/superset-ui-core/src/validator/{legacyValidateInteger.ts => validateServerPagination.ts} (69%)
 create mode 100644 superset-frontend/packages/superset-ui-core/test/validator/validateServerPagination.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/buildQuery.test.ts
 copy superset-frontend/{src/dashboard/components/nativeFilters/FilterBar/CrossFilters/ScopingModal => plugins/plugin-chart-echarts/src/Pie}/constants.ts (92%)
 copy superset-frontend/plugins/{legacy-plugin-chart-world-map/src => plugin-chart-echarts/src/Pie}/utils.ts (84%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Radar/utils.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/metricDisplayName.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Radar/transformProps.test.ts
 copy superset-frontend/{src/components/Checkbox/Checkbox.tsx => plugins/plugin-chart-table/src/DataTable/components/SearchSelectDropdown.tsx} (52%)
 delete mode 100644 superset-frontend/spec/helpers/theming.ts
 delete mode 100644 superset-frontend/spec/helpers/waitForComponentToPaint.ts
 copy superset-frontend/src/components/{Tags => Descriptions}/index.tsx (88%)
 delete mode 100644 superset-frontend/src/dashboard/components/PropertiesModal/PropertiesModal.test.jsx
 copy superset-frontend/src/{types/Role.ts => dashboard/util/isEmbedded.ts} (84%)
 create mode 100644 superset-frontend/src/database/actions.ts
 create mode 100644 superset-frontend/src/database/reducers.ts
 copy superset-frontend/src/{types/TaggedObject.ts => database/types.ts} (52%)
 create mode 100644 superset-frontend/src/explore/components/controls/NumberControl/NumberControl.test.tsx
 create mode 100644 superset-frontend/src/explore/components/controls/NumberControl/index.tsx
 create mode 100644 superset-frontend/src/explore/components/controls/ViewQuery.test.tsx
 delete mode 100644 superset-frontend/src/features/annotationLayers/AnnotationLayerModal.test.jsx
 delete mode 100644 superset-frontend/src/features/annotations/AnnotationModal.test.jsx
 delete mode 100644 superset-frontend/src/features/cssTemplates/CssTemplateModal.test.jsx
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/ExtraOptions.test.tsx
 create mode 100644 superset-frontend/src/features/groups/GroupListModal.tsx
 copy superset-frontend/src/features/{users => groups}/types.ts (81%)
 create mode 100644 superset-frontend/src/features/groups/utils.ts
 delete mode 100644 superset-frontend/src/features/home/SavedQueries.test.tsx
 delete mode 100644 superset-frontend/src/features/queries/QueryPreviewModal.test.tsx
 delete mode 100644 superset-frontend/src/features/queries/SavedQueryPreviewModal.test.jsx
 create mode 100644 superset-frontend/src/features/userInfo/UserInfoModal.tsx
 create mode 100644 superset-frontend/src/hooks/apiResources/dashboards.test.ts
 create mode 100644 superset-frontend/src/pages/ActionLog/index.tsx
 delete mode 100644 superset-frontend/src/pages/AnnotationList/AnnotationList.test.jsx
 delete mode 100644 superset-frontend/src/pages/DatabaseList/DatabaseList.test.jsx
 delete mode 100644 superset-frontend/src/pages/DatabaseList/__snapshots__/DatabaseList.test.jsx.snap
 delete mode 100644 superset-frontend/src/pages/DatasetList/DatasetList.test.tsx
 create mode 100644 superset-frontend/src/pages/GroupsList/GroupsList.test.tsx
 create mode 100644 superset-frontend/src/pages/GroupsList/index.tsx
 delete mode 100644 superset-frontend/src/pages/QueryHistoryList/QueryHistoryList.test.tsx
 create mode 100644 superset-frontend/src/pages/UserInfo/UserInfo.test.tsx
 create mode 100644 superset-frontend/src/pages/UserInfo/index.tsx
 create mode 100644 superset-frontend/src/utils/fetchOptions.ts
 create mode 100644 superset/db_engine_specs/singlestore.py
 create mode 100644 superset/migrations/shared/migrate_viz/query_functions.py
 create mode 100644 superset/migrations/versions/2025-06-06_00-39_363a9b1e8992_convert_metric_currencies_from_str_to_json.py
 delete mode 100644 superset/sql_parse.py
 create mode 100644 superset/utils/rls.py
 copy superset/views/{users_list.py => groups.py} (94%)
 copy superset/views/{users_list.py => logs.py} (94%)
 copy superset/views/{roles.py => user_info.py} (92%)
 delete mode 100644 tests/integration_tests/db_engine_specs/base_tests.py
 delete mode 100644 tests/integration_tests/log_model_view_tests.py
 delete mode 100644 tests/integration_tests/migrations/c747c78868b6_migrating_legacy_treemap__tests.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_singlestore.py
 delete mode 100644 tests/unit_tests/db_engine_specs/test_teradata.py
 copy {superset/advanced_data_type => tests/unit_tests/sql/dialects}/__init__.py (100%)
 create mode 100644 tests/unit_tests/sql/dialects/firebolt_tests.py
 delete mode 100644 tests/unit_tests/sql_parse_tests.py