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