You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/05/06 05:10:00 UTC
(superset) branch dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-core/dompurify-tw-3.4.2 updated (42a8103c954 -> a92644b4d34)
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-core/dompurify-tw-3.4.2
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 42a8103c954 chore(deps): update dompurify requirement
add d23b0cad920 chore: Bump core packages to 0.1.0 RC3 (#39823)
add 2ec53c0694b chore(deps): bump mapbox-gl from 3.22.0 to 3.23.0 in /superset-frontend (#39769)
add de45f3a928e chore(deps): bump aws-actions/amazon-ecs-deploy-task-definition from 2.6.1 to 2.6.2 (#39806)
add 6bfdee98cd9 chore(deps-dev): bump @docusaurus/tsconfig from 3.10.0 to 3.10.1 in /docs (#39811)
add 1ac113fd449 chore(deps): bump aws-actions/amazon-ecs-render-task-definition from 1.8.4 to 1.8.5 (#39809)
add e77fb5e3fcb feat(i18n): updated Ukrainian translation (#39720)
add cb744388652 fix(viz): correct table chart drill-to-detail temporal boundaries and null handling (#39668)
add 98eaaaa6d66 fix(mcp): clear stale thread-local DB session in sync tool wrapper (#39798)
add dbe26d81ce0 chore(deps-dev): bump baseline-browser-mapping from 2.10.21 to 2.10.24 in /superset-frontend (#39759)
add d8dd2d99b3f fix(time-comparison): use chart row_limit instead of instance config in offset queries (#39490)
add 9d4384e49ee chore(deps-dev): bump @babel/preset-env from 7.29.2 to 7.29.3 in /superset-frontend (#39822)
add b14cca15f6b fix(table): preserve decimals in totals row when Time Comparison is enabled (#39747)
add c90c8612ade chore(deps): bump @docusaurus/faster from 3.10.0 to 3.10.1 in /docs (#39804)
add 867e173427b chore(deps): drop stale legacy-plugin-chart-map-box lockfile entry (#39825)
add ad73395c894 chore(deps-dev): bump yeoman-test from 11.3.1 to 11.4.2 in /superset-frontend (#39816)
add dc1c0f6ba19 docs: add user-facing Handlebars chart page with full helpers reference (#39591)
add 6205afbaa08 chore(deps-dev): bump webpack-sources from 3.4.0 to 3.4.1 in /superset-frontend (#39851)
add 28239c18d40 feat(mcp): warn when execute_sql template_params used with templating disabled (#39858)
add 41a22d79184 chore: Upgrade to React 18 (#38563)
add 673634f7af7 fix(mcp): point get_dataset_info url to explore view instead of legacy tablemodelview edit (#39838)
add af8d15fdfcf chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in /superset-frontend (#39852)
add 812f4ae0804 chore(deps): update zod requirement from ^4.4.1 to ^4.4.3 in /superset-frontend/plugins/plugin-chart-echarts (#39850)
add 2be971ce770 chore(deps): bump docusaurus-plugin-openapi-docs from 5.0.1 to 5.0.2 in /docs (#39849)
add 319b8a1124d chore(deps-dev): bump globals from 17.5.0 to 17.6.0 in /docs (#39847)
add ebb02d0ecf0 chore(deps): bump @swc/core from 1.15.32 to 1.15.33 in /docs (#39845)
add 2f605724e72 chore(deps-dev): bump globals from 17.5.0 to 17.6.0 in /superset-websocket (#39844)
add c2725e86f37 fix(markdown): Allow "target" attribute (#39868)
add e76318633e3 fix(helm): allow chart to work out-of-the-box with legacy Bitnami images (#39839)
add 5325b87e73e fix(clickhouse): prevent expensive table scan (#39867)
add 76955017eb0 chore: bump shillelagh to 1.4.4 (#39870)
add e80207218b8 chore(deps-dev): bump eslint from 10.2.1 to 10.3.0 in /superset-websocket (#39843)
add 2edae162f07 chore(deps): bump baseline-browser-mapping from 2.10.24 to 2.10.27 in /docs (#39848)
add d6188374b4f chore(deps): bump docusaurus-theme-openapi-docs from 5.0.1 to 5.0.2 in /docs (#39846)
add 586de12a05e fix(embedded): prevent duplicate React root on rehandshake (#39860)
add 8173cfe9e3b fix(CollectionControl): assign stable ids to keyless items (#39862)
add 5b5f23d1272 test(plugin-chart-echarts): regression guards for temporal x-axis labels on timeseries charts (#39208)
add 9e91ae8cfff fix(colors): reassign colliding series when dashboard locks shared dimension color (#39297)
add cb53745d43c feat: semantic layer extension (#37815)
add 9459bc7bf4b fix(mcp): warn on invalid chart preview form data key (#39891)
add 4a21a5365f8 fix(mcp): validate column refs in generate_explore_link, update_chart_preview, and update_chart (#39797)
add 4b17ac26296 fix(explore): add matrixify_enable guard to prevent stale validators on pre-revamp charts (#38765)
add 3745e37182b fix(OAuth2): Support OAuth2 exception with legacy endpoint (#39897)
add d0ef19953ac chore(deps): bump memoize-one from 5.2.1 to 6.0.0 in /superset-frontend/plugins/plugin-chart-ag-grid-table (#37910)
add c06aee85136 chore(deps-dev): bump jsdom from 29.1.0 to 29.1.1 in /superset-frontend (#39815)
add 14d28c34fdc chore(deps-dev): update cx-oracle requirement from <8.1,>8.0.0 to >8.0.0,<8.4 (#39753)
add a92644b4d34 chore(deps): update dompurify requirement
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 (42a8103c954)
\
N -- N -- N refs/heads/dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-core/dompurify-tw-3.4.2 (a92644b4d34)
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:
.github/workflows/ephemeral-env.yml | 4 +-
.github/workflows/superset-python-unittest.yml | 1 +
UPDATING.md | 7 +
docker/pythonpath_dev/superset_config.py | 8 +-
.../extensions/contribution-types.md | 49 +
docs/docs/using-superset/handlebars-chart.mdx | 143 +
docs/package.json | 29 +-
docs/static/feature-flags.json | 6 +
docs/yarn.lock | 715 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 2 +-
helm/superset/values.yaml | 7 +
pyproject.toml | 9 +-
requirements/base.txt | 2 +-
requirements/development.txt | 2 +-
superset-core/pyproject.toml | 4 +-
.../src/superset_core/semantic_layers/config.py | 73 +
.../src/superset_core/semantic_layers/daos.py | 169 +
.../superset_core/semantic_layers/decorators.py | 102 +
.../src/superset_core/semantic_layers/layer.py | 129 +
.../src/superset_core/semantic_layers/models.py | 85 +
.../src/superset_core/semantic_layers/types.py | 209 +
.../src/superset_core/semantic_layers/view.py | 113 +
superset-extensions-cli/pyproject.toml | 2 +-
superset-frontend/package-lock.json | 42018 +++++++++----------
superset-frontend/package.json | 32 +-
.../packages/generator-superset/package.json | 4 +-
.../packages/superset-core/package.json | 13 +-
.../packages/superset-core/src/testing.tsx | 4 +-
.../src/theme/utils/themeUtils.test.ts | 2 +-
.../superset-ui-chart-controls/package.json | 9 +-
.../src/shared-controls/matrixifyControls.test.ts | 5 +-
.../src/shared-controls/matrixifyControls.tsx | 9 +-
.../shared-controls/matrixifyControls.test.tsx | 238 +
.../packages/superset-ui-core/package.json | 9 +-
.../src/color/CategoricalColorScale.ts | 47 +-
.../src/components/ActionButton/index.tsx | 10 +-
.../AsyncAceEditor/useJsonValidation.test.ts | 2 +-
.../src/components/AsyncEsmComponent/index.tsx | 18 +-
.../src/components/Button/types.ts | 3 +-
.../DropdownContainer.stories.tsx | 2 +-
.../src/components/DropdownContainer/types.ts | 3 +-
.../DynamicEditableTitle.regression.test.tsx | 80 +
.../src/components/DynamicEditableTitle/index.tsx | 43 +-
.../src/components/EmptyState/types.ts | 3 +-
.../superset-ui-core/src/components/Form/Form.tsx | 2 +-
.../src/components/Label/Label.test.tsx | 1 -
.../components/Label/reusable/DatasetTypeLabel.tsx | 18 +-
.../src/components/ListViewCard/types.ts | 1 +
.../src/components/MetadataBar/MetadataBar.tsx | 2 +-
.../src/components/Modal/FormModal.tsx | 2 +-
.../src/components/Modal/Modal.tsx | 3 +
.../superset-ui-core/src/components/Modal/types.ts | 5 +-
.../src/components/PageHeaderWithActions/index.tsx | 114 +-
.../TableCollection/TableCollection.test.tsx | 2 +-
.../src/components/TableCollection/utils.tsx | 4 +-
.../src/components/TableView/TableView.test.tsx | 41 +-
.../src/components/TableView/TableView.tsx | 52 +-
.../src/components/TruncatedList/index.tsx | 4 +-
.../hooks/useChangeEffect/useChangeEffect.test.ts | 2 +-
.../useComponentDidMount.test.ts | 2 +-
.../useComponentDidUpdate.test.ts | 2 +-
.../useElementOnScreen/useElementOnScreen.test.ts | 16 +-
.../src/hooks/usePrevious/usePrevious.test.ts | 2 +-
.../useTruncation/useCSSTextTruncation.test.tsx | 2 +-
.../useChildElementTruncation.test.ts | 2 +-
.../superset-ui-core/src/query/DatasourceKey.ts | 12 +-
.../superset-ui-core/src/query/types/Datasource.ts | 8 +
.../superset-ui-core/src/ui-overrides/types.ts | 3 +-
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../test/chart/components/SuperChart.test.tsx | 2 +-
.../test/color/CategoricalColorScale.test.ts | 179 +
.../test/connection/SupersetClient.test.ts | 11 +-
.../test/query/types/Datasource.test.ts | 3 +-
.../test/time-format/TimeFormatter.test.ts | 10 +-
.../legacy-plugin-chart-calendar/package.json | 2 +-
.../legacy-plugin-chart-country-map/package.json | 2 +-
.../legacy-plugin-chart-horizon/package.json | 2 +-
.../legacy-plugin-chart-paired-t-test/package.json | 2 +-
.../package.json | 2 +-
.../legacy-plugin-chart-partition/package.json | 6 +-
.../plugins/legacy-plugin-chart-rose/package.json | 2 +-
.../legacy-plugin-chart-world-map/package.json | 2 +-
.../plugins/legacy-preset-chart-nvd3/package.json | 2 +-
.../plugin-chart-ag-grid-table/package.json | 11 +-
.../src/AgGridTable/index.tsx | 8 +-
.../src/AgGridTableChart.tsx | 2 +-
.../src/renderers/TextCellRenderer.tsx | 6 +-
.../src/utils/getInitialSortState.ts | 2 +-
.../test/memoization.test.ts | 99 +
.../test/utils/useColDefs.test.ts | 2 +-
.../plugins/plugin-chart-cartodiagram/package.json | 4 +-
.../src/components/ChartLayer.tsx | 19 +-
.../test/components/chartLayer.test.ts | 5 +
.../plugins/plugin-chart-echarts/package.json | 4 +-
.../src/MixedTimeseries/EchartsMixedTimeseries.tsx | 2 +-
.../src/Treemap/EchartsTreemap.tsx | 6 +-
.../test/MixedTimeseries/transformProps.test.ts | 132 +
.../test/Timeseries/transformProps.test.ts | 113 +
.../test/utils/formatters.test.ts | 52 +
.../plugin-chart-echarts/test/utils/series.test.ts | 20 +-
.../plugins/plugin-chart-handlebars/README.md | 95 -
.../plugins/plugin-chart-handlebars/package.json | 4 +-
.../src/plugin/controls/handlebarTemplate.tsx | 47 +-
.../src/plugin/controls/style.tsx | 2 +-
.../plugins/plugin-chart-pivot-table/package.json | 4 +-
.../plugin-chart-point-cluster-map/package.json | 6 +-
.../plugins/plugin-chart-table/package.json | 9 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 126 +-
.../plugin-chart-table/src/transformProps.ts | 9 +-
.../plugin-chart-table/test/TableChart.test.tsx | 73 +
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
.../plugins/preset-chart-deckgl/package.json | 4 +-
.../src/CategoricalDeckGLContainer.tsx | 3 +-
.../preset-chart-deckgl/src/DeckGLContainer.tsx | 2 +-
.../preset-chart-deckgl/src/layers/common.test.ts | 4 +-
superset-frontend/spec/helpers/testing-library.tsx | 1 +
.../src/SqlLab/components/AppLayout/index.tsx | 2 +-
.../ColumnElement/ColumnElement.test.tsx | 10 +-
.../EditorWrapper/EditorWrapper.test.tsx | 28 +-
.../EditorWrapper/useAnnotations.test.ts | 8 +-
.../components/EditorWrapper/useKeywords.test.ts | 8 +-
.../components/KeyboardShortcutButton/index.tsx | 4 +-
.../src/SqlLab/components/PopEditorTab/index.tsx | 4 +-
.../src/SqlLab/components/QueryTable/index.tsx | 25 +-
.../components/RunQueryActionButton/index.tsx | 8 +-
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 39 +-
.../src/SqlLab/components/SouthPane/index.tsx | 2 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 5 +-
.../SqlEditorTopBar/useDatabaseSelector.test.ts | 2 +-
.../hooks/useQueryEditor/useQueryEditor.test.ts | 2 +-
.../useDeckLayerMetadata.test.ts | 64 +-
superset-frontend/src/components/Chart/Chart.tsx | 16 +-
.../Chart/ChartContextMenu/useContextMenu.test.tsx | 74 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 6 +-
.../Chart/DrillBy/useResultsTableView.test.ts | 2 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 4 +-
.../Chart/useDrillDetailMenuItems/index.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 24 +-
.../ChangeDatasourceModal.test.tsx | 34 +
.../Datasource/ChangeDatasourceModal/index.tsx | 50 +-
.../DatasourceModal/DatasourceModal.test.tsx | 27 +-
.../FoldersEditor/hooks/useDragHandlers.test.ts | 2 +-
.../DatasourceEditor/DatasourceEditor.tsx | 4 +-
.../Datasource/components/Field/index.tsx | 2 +-
.../src/components/DynamicPlugins/index.tsx | 13 +-
.../ErrorMessage/DatasetNotFoundErrorMessage.tsx | 3 +-
.../src/components/FilterableTable/index.tsx | 20 +-
.../FilterableTable/useCellContentParser.test.ts | 2 +-
.../src/components/GridTable/Header.tsx | 10 +-
.../src/components/GridTable/index.tsx | 11 +-
.../src/components/ListView/Filters/index.tsx | 6 +
.../src/components/ListView/ListView.tsx | 31 +-
.../components/Modal/useModalValidation.test.ts | 2 +-
.../ResizableSidebar/useStoredSidebarWidth.test.ts | 2 +-
.../useStreamingExport.test.ts | 3 +-
.../components/AddSliceCard/AddSliceCard.tsx | 3 +-
.../DashboardBuilder/DashboardBuilder.tsx | 5 +-
.../DashboardBuilder/DashboardContainer.tsx | 5 +-
.../dashboard/components/Header/Header.test.tsx | 16 +
.../dashboard/components/PropertiesModal/index.tsx | 2 +-
.../src/dashboard/components/SliceAdder.tsx | 3 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 3 +-
.../DynamicComponent/DynamicComponent.tsx | 4 +-
.../gridComponents/Header/Header.test.tsx | 1 +
.../gridComponents/Markdown/Markdown.test.tsx | 46 +-
.../new/DraggableNewComponent.test.tsx | 1 +
.../useCrossFiltersScopingModal.test.ts | 6 +-
.../FilterBar/FilterBarSettings/index.tsx | 2 +-
.../FilterBar/FilterControls/FilterControls.tsx | 8 +-
.../FilterBar/FilterControls/GroupByFilterCard.tsx | 16 +-
.../FilterBar/FilterControls/state.test.ts | 11 +-
.../FiltersConfigForm/DatasetSelect.tsx | 11 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 2 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 21 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 15 +-
.../transformers/filterTransformer.ts | 11 +-
.../components/nativeFilters/state.test.ts | 2 +-
.../components/resizable/ResizableContainer.tsx | 4 +-
.../dashboard/contexts/AutoRefreshContext.test.tsx | 2 +-
.../hooks/useAutoRefreshTabPause.test.tsx | 2 +-
.../src/dashboard/hooks/useCurrentTime.test.ts | 2 +-
.../dashboard/hooks/useDownloadScreenshot.test.ts | 2 +-
.../src/dashboard/hooks/useTabVisibility.test.ts | 2 +-
.../src/embedded/EmbeddedContextProviders.tsx | 5 +-
superset-frontend/src/embedded/index.tsx | 28 +-
.../src/explore/actions/exploreActions.test.ts | 105 +
.../src/explore/actions/exploreActions.ts | 85 +
.../src/explore/actions/hydrateExplore.ts | 8 +-
.../src/explore/actions/saveModalActions.ts | 7 +-
.../src/explore/components/ControlHeader.tsx | 2 +
.../DataTableControl/useFilteredTableData.test.ts | 2 +-
.../DataTableControl/useTableColumns.test.ts | 2 +-
.../DataTablesPane/components/SamplesPane.tsx | 6 +-
.../DatasourcePanelDragOption.test.tsx | 4 +-
.../DatasourcePanelDragOption/index.tsx | 40 +-
.../DatasourcePanel/DatasourcePanelItem.test.tsx | 2 +-
.../explore/components/DatasourcePanel/index.tsx | 6 +-
.../components/ExploreChartHeader/index.tsx | 171 +-
.../explore/components/ExploreChartPanel/index.tsx | 4 +-
.../explore/components/ExploreContainer/index.tsx | 3 +-
.../components/ExploreViewContainer/index.tsx | 48 +-
.../components/StashFormDataContainer/index.tsx | 3 +-
.../controls/CollectionControl/index.tsx | 419 +-
.../ColumnConfigConstants.test.tsx | 20 +-
.../controls/ColumnConfigControl/constants.tsx | 2 -
.../components/controls/CustomListItem/index.tsx | 61 +-
.../controls/DatasourceControl/index.tsx | 51 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 55 +-
.../DndAdhocFilterOption.tsx | 6 +-
.../DndColumnMetricSelect.tsx | 20 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 25 +-
.../DndColumnSelectPopoverTitle.tsx | 2 +-
.../DndFilterSelect.test.tsx | 2 +-
.../DndMetricSelect.test.tsx | 20 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 47 +-
.../controls/DndColumnSelectControl/Option.tsx | 2 +-
.../FilterControl/AdhocFilterEditPopover/index.tsx | 34 +-
.../AdhocFilterPopoverTrigger/index.tsx | 3 +-
.../utils/useDatePickerInAdhocfilter.test.ts | 2 +-
.../utils/useGetTimeRangeLabel.test.ts | 22 +-
.../AdhocMetricEditPopover.test.tsx | 80 +-
.../MetricControl/AdhocMetricEditPopover/index.tsx | 39 +-
.../MetricControl/AdhocMetricOption.test.tsx | 6 +-
.../controls/MetricControl/MetricsControl.test.tsx | 9 +-
superset-frontend/src/explore/controls.tsx | 3 +-
.../src/explore/reducers/exploreReducer.ts | 20 +
superset-frontend/src/explore/store.test.tsx | 400 +-
superset-frontend/src/explore/store.ts | 58 +-
superset-frontend/src/explore/types.ts | 5 +
.../cssTemplates/CssTemplateModal.test.tsx | 104 +
.../databases/DatabaseModal/index.test.tsx | 12 +-
.../datasets/hooks/useDatasetLists.test.ts | 2 +-
.../metadataBar/useDatasetMetadataBar.test.tsx | 2 +-
superset-frontend/src/features/home/Menu.tsx | 13 +-
.../src/features/home/RightMenu.test.tsx | 9 +-
superset-frontend/src/features/home/SubMenu.tsx | 33 +-
superset-frontend/src/features/home/types.ts | 2 +
.../src/features/reports/ReportModal/index.tsx | 2 +-
.../src/features/roles/RoleListEditModal.test.tsx | 5 +
.../src/features/roles/RoleListEditModal.tsx | 76 +-
.../semanticLayers/SemanticLayerModal.test.tsx | 130 +
.../features/semanticLayers/SemanticLayerModal.tsx | 408 +
.../semanticLayers/jsonFormsHelpers.test.ts | 150 +
.../features/semanticLayers/jsonFormsHelpers.tsx | 386 +
.../src/features/semanticLayers/label.ts | 65 +
.../semanticViews/AddSemanticViewModal.test.tsx | 264 +
.../semanticViews/AddSemanticViewModal.tsx | 541 +
.../semanticViews/SemanticViewEditModal.test.tsx | 267 +
.../semanticViews/SemanticViewEditModal.tsx | 241 +
.../src/features/users/UserListModal.tsx | 259 +-
.../src/hooks/apiResources/apiResources.test.ts | 2 +-
.../src/hooks/apiResources/dashboards.test.ts | 19 +-
.../hooks/apiResources/databaseFunctions.test.ts | 6 +-
.../src/hooks/apiResources/datasets.test.ts | 89 +-
.../src/hooks/apiResources/queries.test.ts | 19 +-
.../hooks/apiResources/queryValidations.test.ts | 6 +-
.../src/hooks/apiResources/schemas.test.ts | 10 +-
.../src/hooks/apiResources/sqlEditorTabs.test.ts | 47 +-
.../src/hooks/apiResources/sqlLab.test.ts | 19 +-
.../src/hooks/apiResources/tables.test.ts | 12 +-
.../hooks/useBeforeUnload/useBeforeUnload.test.ts | 2 +-
.../hooks/useConfirmModal/useConfirmModal.test.tsx | 98 +-
.../src/hooks/useDebounceValue.test.ts | 2 +-
.../src/hooks/usePermissions.test.tsx | 2 +-
.../useUnsavedChangesPrompt.test.tsx | 19 +-
superset-frontend/src/logger/useLogAction.test.ts | 2 +-
.../src/pages/ChartCreation/index.tsx | 19 +-
superset-frontend/src/pages/ChartList/index.tsx | 5 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 501 +-
.../DatasetList/DatasetList.behavior.test.tsx | 39 +-
.../DatasetList/DatasetList.integration.test.tsx | 23 +-
.../DatasetList/DatasetList.listview.test.tsx | 233 +-
.../DatasetList/DatasetList.permissions.test.tsx | 17 +-
.../src/pages/DatasetList/DatasetList.test.tsx | 78 +-
.../pages/DatasetList/DatasetList.testHelpers.tsx | 28 +-
superset-frontend/src/pages/DatasetList/index.tsx | 801 +-
.../src/pages/FileHandler/index.test.tsx | 30 +-
.../src/pages/SqlLab/LocationContext.tsx | 4 +-
superset-frontend/src/theme/ThemeController.ts | 2 +-
.../src/theme/hooks/useThemeValidation.test.ts | 2 +-
.../src/theme/tests/ThemeProvider.test.tsx | 2 +-
superset-frontend/src/types/Dataset.ts | 11 +-
superset-frontend/src/views/CRUD/hooks.test.tsx | 2 +-
.../src/views/RootContextProviders.tsx | 5 +-
superset-frontend/src/views/index.tsx | 5 +-
superset-frontend/src/views/menu.tsx | 7 +-
superset-frontend/webpack.config.js | 14 +-
superset-websocket/package-lock.json | 28 +-
superset-websocket/package.json | 4 +-
.../commands/datasource}/__init__.py | 0
superset/commands/datasource/list.py | 245 +
superset/commands/explore/get.py | 6 +-
.../commands/semantic_layer}/__init__.py | 0
superset/commands/semantic_layer/create.py | 104 +
superset/commands/semantic_layer/delete.py | 115 +
superset/commands/semantic_layer/exceptions.py | 76 +
superset/commands/semantic_layer/update.py | 126 +
superset/config.py | 3 +
superset/connectors/sqla/models.py | 27 +-
superset/core/api/core_api_injection.py | 35 +
superset/daos/datasource.py | 160 +-
superset/daos/semantic_layer.py | 220 +
superset/datasets/datetime_format_detector.py | 11 +-
superset/datasource/api.py | 183 +-
superset/datasource/schemas.py | 155 +
superset/db_engine_specs/mysql.py | 6 +-
superset/explorables/base.py | 168 +-
superset/initialization/__init__.py | 11 +-
superset/mcp_service/CLAUDE.md | 19 +-
superset/mcp_service/auth.py | 9 +
superset/mcp_service/chart/compile.py | 362 +
superset/mcp_service/chart/tool/generate_chart.py | 89 +-
superset/mcp_service/chart/tool/update_chart.py | 86 +
.../mcp_service/chart/tool/update_chart_preview.py | 88 +-
.../chart/validation/dataset_validator.py | 161 +-
superset/mcp_service/dataset/schemas.py | 6 +-
.../explore/tool/generate_explore_link.py | 55 +
superset/mcp_service/sql_lab/schemas.py | 8 +
superset/mcp_service/sql_lab/tool/execute_sql.py | 18 +-
...6_33d7e0e21daa_add_semantic_layers_and_views.py | 168 +
superset/models/helpers.py | 14 +-
superset/models/sql_lab.py | 6 +-
superset/security/manager.py | 318 +-
.../semantic_layers}/__init__.py | 0
superset/semantic_layers/api.py | 1147 +
superset/semantic_layers/labels.py | 105 +
superset/semantic_layers/mapper.py | 912 +
superset/semantic_layers/models.py | 556 +
.../utils.py => semantic_layers/registry.py} | 9 +-
superset/semantic_layers/schemas.py | 45 +
superset/superset_typing.py | 51 +-
superset/tasks/async_queries.py | 5 +
superset/translations/uk/LC_MESSAGES/messages.po | 10465 +++--
superset/utils/core.py | 37 +-
superset/views/core.py | 11 +-
superset/viz.py | 5 +
tests/integration_tests/charts/api_tests.py | 6 +-
tests/integration_tests/core_tests.py | 55 +-
tests/integration_tests/datasource/api_tests.py | 52 +
tests/integration_tests/query_context_tests.py | 226 +-
.../unit_tests/commands/datasource}/__init__.py | 0
tests/unit_tests/commands/datasource/list_test.py | 162 +
.../commands/importers/v1/assets_test.py | 19 +-
.../commands/semantic_layer}/__init__.py | 0
.../commands/semantic_layer/create_test.py | 230 +
.../commands/semantic_layer/delete_test.py | 164 +
.../commands/semantic_layer/exceptions_test.py | 91 +
.../commands/semantic_layer/update_test.py | 326 +
.../common/test_query_context_processor.py | 227 +
.../datasets/test_datetime_format_detector.py | 57 +
tests/unit_tests/datasource/dao_tests.py | 29 +
tests/unit_tests/mcp_service/chart/test_compile.py | 445 +
.../mcp_service/chart/tool/test_update_chart.py | 149 +
.../chart/tool/test_update_chart_preview.py | 323 +
.../validation/test_column_name_normalization.py | 13 +
.../mcp_service/dataset/tool/test_dataset_tools.py | 32 +-
.../explore/tool/test_generate_explore_link.py | 131 +
.../mcp_service/sql_lab/tool/test_execute_sql.py | 99 +
.../mcp_service/test_auth_user_resolution.py | 37 +
tests/unit_tests/models/core_test.py | 6 +-
tests/unit_tests/security/api_test.py | 2 +-
tests/unit_tests/semantic_layers/api_test.py | 2321 +
tests/unit_tests/semantic_layers/dao_test.py | 85 +
.../unit_tests/semantic_layers/decorators_test.py | 103 +
tests/unit_tests/semantic_layers/labels_test.py | 52 +
tests/unit_tests/semantic_layers/mapper_test.py | 2743 ++
tests/unit_tests/semantic_layers/models_test.py | 1267 +
tests/unit_tests/semantic_layers/schemas_test.py | 296 +
tests/unit_tests/sql_lab_test.py | 2 +-
tests/unit_tests/tasks/test_async_queries.py | 174 +-
tests/unit_tests/test_viz_get_df_payload.py | 111 +
tests/unit_tests/utils/test_core.py | 42 +
374 files changed, 49925 insertions(+), 30293 deletions(-)
create mode 100644 docs/docs/using-superset/handlebars-chart.mdx
create mode 100644 superset-core/src/superset_core/semantic_layers/config.py
create mode 100644 superset-core/src/superset_core/semantic_layers/daos.py
create mode 100644 superset-core/src/superset_core/semantic_layers/decorators.py
create mode 100644 superset-core/src/superset_core/semantic_layers/layer.py
create mode 100644 superset-core/src/superset_core/semantic_layers/models.py
create mode 100644 superset-core/src/superset_core/semantic_layers/types.py
create mode 100644 superset-core/src/superset_core/semantic_layers/view.py
create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/shared-controls/matrixifyControls.test.tsx
create mode 100644 superset-frontend/packages/superset-ui-core/src/components/DynamicEditableTitle/DynamicEditableTitle.regression.test.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/test/memoization.test.ts
delete mode 100644 superset-frontend/plugins/plugin-chart-handlebars/README.md
create mode 100644 superset-frontend/src/features/cssTemplates/CssTemplateModal.test.tsx
create mode 100644 superset-frontend/src/features/semanticLayers/SemanticLayerModal.test.tsx
create mode 100644 superset-frontend/src/features/semanticLayers/SemanticLayerModal.tsx
create mode 100644 superset-frontend/src/features/semanticLayers/jsonFormsHelpers.test.ts
create mode 100644 superset-frontend/src/features/semanticLayers/jsonFormsHelpers.tsx
create mode 100644 superset-frontend/src/features/semanticLayers/label.ts
create mode 100644 superset-frontend/src/features/semanticViews/AddSemanticViewModal.test.tsx
create mode 100644 superset-frontend/src/features/semanticViews/AddSemanticViewModal.tsx
create mode 100644 superset-frontend/src/features/semanticViews/SemanticViewEditModal.test.tsx
create mode 100644 superset-frontend/src/features/semanticViews/SemanticViewEditModal.tsx
copy {superset-core/src/superset_core/common => superset/commands/datasource}/__init__.py (100%)
create mode 100644 superset/commands/datasource/list.py
copy {superset-core/src/superset_core/common => superset/commands/semantic_layer}/__init__.py (100%)
create mode 100644 superset/commands/semantic_layer/create.py
create mode 100644 superset/commands/semantic_layer/delete.py
create mode 100644 superset/commands/semantic_layer/exceptions.py
create mode 100644 superset/commands/semantic_layer/update.py
create mode 100644 superset/daos/semantic_layer.py
create mode 100644 superset/datasource/schemas.py
create mode 100644 superset/mcp_service/chart/compile.py
create mode 100644 superset/migrations/versions/2025-11-04_11-26_33d7e0e21daa_add_semantic_layers_and_views.py
copy {superset-core/src/superset_core/common => superset/semantic_layers}/__init__.py (100%)
create mode 100644 superset/semantic_layers/api.py
create mode 100644 superset/semantic_layers/labels.py
create mode 100644 superset/semantic_layers/mapper.py
create mode 100644 superset/semantic_layers/models.py
copy superset/{temporary_cache/utils.py => semantic_layers/registry.py} (84%)
create mode 100644 superset/semantic_layers/schemas.py
copy {superset-core/src/superset_core/common => tests/unit_tests/commands/datasource}/__init__.py (100%)
create mode 100644 tests/unit_tests/commands/datasource/list_test.py
copy {superset-core/src/superset_core/common => tests/unit_tests/commands/semantic_layer}/__init__.py (100%)
create mode 100644 tests/unit_tests/commands/semantic_layer/create_test.py
create mode 100644 tests/unit_tests/commands/semantic_layer/delete_test.py
create mode 100644 tests/unit_tests/commands/semantic_layer/exceptions_test.py
create mode 100644 tests/unit_tests/commands/semantic_layer/update_test.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_compile.py
create mode 100644 tests/unit_tests/semantic_layers/api_test.py
create mode 100644 tests/unit_tests/semantic_layers/dao_test.py
create mode 100644 tests/unit_tests/semantic_layers/decorators_test.py
create mode 100644 tests/unit_tests/semantic_layers/labels_test.py
create mode 100644 tests/unit_tests/semantic_layers/mapper_test.py
create mode 100644 tests/unit_tests/semantic_layers/models_test.py
create mode 100644 tests/unit_tests/semantic_layers/schemas_test.py
create mode 100644 tests/unit_tests/test_viz_get_df_payload.py