You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by gi...@apache.org on 2026/05/05 16:19:18 UTC
(superset) branch dependabot/pip/pyarrow-24.0.0 updated (6e39178a05a -> 7ff0df35c6d)
This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch dependabot/pip/pyarrow-24.0.0
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 6e39178a05a chore(deps): bump pyarrow from 20.0.0 to 24.0.0
add 1dd28c6fcd2 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.59.0 to 8.59.1 in /superset-frontend (#39696)
add 7b02c21bff8 chore(deps): bump @ant-design/icons from 6.1.1 to 6.2.2 in /superset-frontend (#39697)
add 2a884e84565 chore(deps-dev): bump @swc/core from 1.15.30 to 1.15.32 in /superset-frontend (#39692)
add 54f1e327639 fix(dashboard): escape emoji in position_json before saving to prevent truncation (#39737)
add c7c9a17d6b8 fix(mysql): fallback to pymysql when MySQLdb is not installed in get_datatype() (#39729)
add 549aff7cf98 fix(mcp): clarify chart preview URL metadata (#39731)
add fe074c0d768 docs(mcp): update MCP server docs for 6.1 (#39422)
add 2b623fd09ae docs: Superset 6.1 documentation catch-up — batch 2 (#39441)
add b4f595953e4 docs: Superset 6.1 documentation catch-up — batch 3 (#39445)
add 8d17c34068b feat(mcp): restore self-lookup via created_by_me flag (#39638)
add 6ce3885f2ee chore(build): remove thread-loader from webpack build (#39763)
add 979f60a6d4a docs: Superset 6.1 documentation catch-up — batch 4 (#39446)
add 4c4f3341de6 chore(deps): bump dawidd6/action-download-artifact from 20 to 21 (#39742)
add ebb43404c8d chore(deps): bump baseline-browser-mapping from 2.10.23 to 2.10.24 in /docs (#39741)
add e3e834bbf7b fix(mcp): fall back to title match when dashboard slug lookup misses (#39567)
add 81a08f0a0e0 chore(deps): bump fastmcp from 3.1.0 to 3.2.4 (#39349)
add c2b9272f4c9 fix(mcp): sanitize read path output for LLM context (#39738)
add 49c249c7a9d fix(cache-warmup): add missing dashboard context in DashboardTagsStrategy (#39531)
add ae4c765d7d6 fix(docs): fix embedding page frontmatter and title capitalization (#39765)
add e4fe08ab9ef feat(mcp): add generate_bug_report tool with PII sanitization (#39595)
add df396aa6e9d fix(drill-to-detail): drill to detail by correctly filtering by metric (#39766)
add 9c3c8dcc0bf fix(table): restore dropdown arrow visibility on paginated table page… (#39305)
add f7c955f81ad feat: provide full endpoint URL construction for plugin developers (#37360)
add 2c26914c2eb chore(deps-dev): bump typescript-eslint from 8.59.0 to 8.59.1 in /docs (#39694)
add ce3f19d373a chore(deps): bump swagger-ui-react from 5.32.4 to 5.32.5 in /docs (#39693)
add c895c4ffa90 chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in /superset-frontend (#39744)
add 43a2cd36604 chore(deps-dev): bump psycopg2-binary from 2.9.9 to 2.9.12 (#39749)
add a4532844f49 chore(deps): bump msgpack from 1.0.8 to 1.1.2 (#39752)
add 9001e7dcf27 chore(deps): bump pandas from 2.1.4 to 2.3.3 (#39754)
add bfacc3b5ac7 chore(deps): bump xlsxwriter from 3.0.9 to 3.2.9 (#39757)
add 1061b0612cc chore(deps-dev): bump eslint-plugin-no-only-tests from 3.3.0 to 3.4.0 in /superset-frontend (#39768)
add 7842a9b05d1 fix(playwright): remove Google Sheets dependency from dataset tests (#39143)
add bc875aa3e32 feat: Latvian localization (#38965)
add a135e290355 fix(time-format): handle string input in TimeFormatter to fix pivot table NaN dates (#38949)
add 56e9331dada chore: add Aadhar Housing Finance Limited to INTHEWILD (#38366)
add 6ad503201b8 chore(deps): bump zod from 4.3.6 to 4.4.1 in /superset-frontend (#39770)
add c15b208fdaa chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#39745)
add 9faeda5723a chore(deps): bump @ant-design/icons from 6.2.0 to 6.2.2 in /docs (#39691)
add 3f681040076 chore(deps-dev): bump @swc/plugin-emotion from 14.8.0 to 14.9.0 in /superset-frontend (#39715)
add 4fcb3144ff1 fix(dashboard): prevent duplicate screenshot downloads (#39525)
add 12f69760f90 fix(table): conditionally render search dropdown only when search input is enabled (#35204)
add f57ba7645dd fix(CountryMap): ISO updated for France overseas (complete run) (#36055)
add 512ba43e764 feat(i18n): add Czech translations (#36153)
add 4244ae87bf7 fix(deps): regenerate pinned requirements for psycopg2-binary 2.9.12 (#39790)
add 86eb6176d11 fix: Enforce per-user caching on legacy API endpoint (#39789)
add 3f550f166f3 fix(GSheets OAuth2): Re-add UnauthenticatedError (#39785)
add f29d82b3b1d feat(mcp): add query_dataset tool to query datasets using semantic layer (#39727)
add 957b298ae1e fix(mcp): add default request parameter to list_charts and list_dashboards (#39730)
add e585406fff6 chore(codeowners): notify @sfirke on translation changes (#39794)
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 7ff0df35c6d chore(deps): bump pyarrow from 20.0.0 to 24.0.0
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 (6e39178a05a)
\
N -- N -- N refs/heads/dependabot/pip/pyarrow-24.0.0 (7ff0df35c6d)
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/CODEOWNERS | 4 +
.github/labeler.yml | 10 +
.github/workflows/bashlib.sh | 14 +
.github/workflows/ephemeral-env.yml | 4 +-
.github/workflows/superset-docs-deploy.yml | 4 +-
.github/workflows/superset-docs-verify.yml | 2 +-
.github/workflows/superset-python-unittest.yml | 1 +
RESOURCES/INTHEWILD.yaml | 4 +
UPDATING.md | 7 +
docker/pythonpath_dev/superset_config.py | 8 +-
docs/admin_docs/configuration/cache.mdx | 39 +-
.../configuration/configuring-superset.mdx | 20 +
.../importing-exporting-datasources.mdx | 4 +
docs/admin_docs/configuration/mcp-server.mdx | 136 +-
docs/admin_docs/configuration/theming.mdx | 45 +-
docs/admin_docs/security/security.mdx | 11 +
.../contributing/development-setup.md | 2 +-
.../extensions/contribution-types.md | 49 +
.../creating-your-first-dashboard.mdx | 48 +
docs/docs/using-superset/embedding.mdx | 9 +-
docs/docs/using-superset/handlebars-chart.mdx | 143 +
docs/docs/using-superset/sql-templating.mdx | 24 +
.../docs/using-superset/using-ai-with-superset.mdx | 37 +-
docs/package.json | 35 +-
docs/static/feature-flags.json | 6 +
docs/yarn.lock | 1445 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 2 +-
helm/superset/values.yaml | 7 +
pyproject.toml | 17 +-
requirements/base.txt | 2 +-
requirements/development.txt | 8 +-
scripts/oxlint.sh | 12 +-
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 | 32706 +++++++++----------
superset-frontend/package.json | 39 +-
.../packages/generator-superset/package.json | 2 +-
.../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 +-
.../packages/superset-ui-core/package.json | 11 +-
.../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 +-
.../src/connection/SupersetClient.ts | 1 +
.../superset-ui-core/src/connection/types.ts | 1 +
.../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 +
.../src/time-format/TimeFormatter.ts | 8 +-
.../src/time-format/utils/stringifyTimeInput.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 | 36 +-
.../test/query/types/Datasource.test.ts | 3 +-
.../test/time-format/TimeFormatter.test.ts | 15 +
.../components/modals/ImportDatasetModal.ts | 18 +
.../playwright/fixtures/dataset_export.zip | Bin 5261 -> 0 bytes
.../playwright/helpers/api/assertions.ts | 32 +-
.../playwright/helpers/api/dataset.ts | 15 +
.../helpers/api/{savedQuery.ts => sqllab.ts} | 40 +-
.../playwright/pages/CreateDatasetPage.ts | 2 +-
.../playwright/tests/chart/chart-list.spec.ts | 29 +-
.../tests/dashboard/dashboard-list.spec.ts | 50 +-
.../tests/dataset/create-dataset.spec.ts | 297 +-
.../playwright/tests/dataset/dataset-list.spec.ts | 126 +-
.../legacy-plugin-chart-calendar/package.json | 2 +-
.../legacy-plugin-chart-country-map/package.json | 2 +-
.../scripts/Country Map GeoJSON Generator.ipynb | Bin 2319015 -> 10614906 bytes
.../src/countries/afghanistan.geojson | Bin 116233 -> 116055 bytes
.../src/countries/algeria.geojson | Bin 72436 -> 72143 bytes
.../src/countries/angola.geojson | Bin 91061 -> 90836 bytes
.../src/countries/antarctica.geojson | Bin 249319 -> 245701 bytes
.../src/countries/argentina.geojson | Bin 92396 -> 91982 bytes
.../src/countries/central_african_republic.geojson | Bin 76367 -> 76280 bytes
.../src/countries/chad.geojson | Bin 59200 -> 59068 bytes
.../src/countries/chile.geojson | Bin 155583 -> 152109 bytes
.../src/countries/colombia.geojson | Bin 172825 -> 172427 bytes
.../src/countries/cook_islands.geojson | Bin 4932 -> 4793 bytes
.../democratic_republic_of_the_congo.geojson | Bin 60598 -> 60421 bytes
.../src/countries/ecuador.geojson | Bin 72252 -> 71984 bytes
.../src/countries/egypt.geojson | Bin 63171 -> 62737 bytes
.../src/countries/ethiopia.geojson | Bin 74208 -> 74123 bytes
.../src/countries/fiji.geojson | Bin 16252 -> 14845 bytes
.../src/countries/finland.geojson | Bin 131137 -> 130221 bytes
.../src/countries/france.geojson | Bin 293304 -> 292411 bytes
.../src/countries/france_overseas.geojson | Bin 319670 -> 318427 bytes
.../src/countries/france_regions.geojson | Bin 125649 -> 125270 bytes
.../src/countries/french_polynesia.geojson | Bin 23524 -> 21933 bytes
.../src/countries/greenland.geojson | Bin 183222 -> 180051 bytes
.../src/countries/iran.geojson | Bin 134537 -> 134245 bytes
.../src/countries/italy.geojson | Bin 239052 -> 238139 bytes
.../src/countries/italy_regions.geojson | Bin 107344 -> 106568 bytes
.../src/countries/japan.geojson | Bin 125219 -> 123030 bytes
.../src/countries/kazakhstan.geojson | Bin 97047 -> 96827 bytes
.../src/countries/libya.geojson | Bin 44004 -> 43958 bytes
.../src/countries/malaysia.geojson | Bin 61681 -> 61384 bytes
.../src/countries/mexico.geojson | Bin 155798 -> 153935 bytes
.../src/countries/mongolia.geojson | Bin 66140 -> 66008 bytes
.../src/countries/mozambique.geojson | Bin 70273 -> 70096 bytes
.../src/countries/myanmar.geojson | Bin 122123 -> 121555 bytes
.../src/countries/namibia.geojson | Bin 51744 -> 51566 bytes
.../src/countries/new_zealand.geojson | Bin 51553 -> 50769 bytes
.../src/countries/niger.geojson | Bin 24447 -> 24404 bytes
.../src/countries/nigeria.geojson | Bin 132145 -> 131937 bytes
.../src/countries/norway.geojson | Bin 193186 -> 190978 bytes
.../src/countries/pakistan.geojson | Bin 71260 -> 71132 bytes
.../src/countries/papua_new_guinea.geojson | Bin 93153 -> 92488 bytes
.../src/countries/peru.geojson | Bin 121913 -> 121731 bytes
.../src/countries/philippines.geojson | Bin 201029 -> 199021 bytes
.../src/countries/philippines_regions.geojson | Bin 137441 -> 135628 bytes
.../src/countries/portugal.geojson | Bin 54433 -> 54121 bytes
.../src/countries/saudi_arabia.geojson | Bin 49793 -> 49541 bytes
.../src/countries/somalia.geojson | Bin 17724 -> 17637 bytes
.../src/countries/spain.geojson | Bin 197369 -> 196796 bytes
.../src/countries/sudan.geojson | Bin 50604 -> 50472 bytes
.../src/countries/sweden.geojson | Bin 122167 -> 121208 bytes
.../src/countries/tanzania.geojson | Bin 108762 -> 108542 bytes
.../src/countries/thailand.geojson | Bin 206445 -> 205568 bytes
.../src/countries/turkey.geojson | Bin 204145 -> 203575 bytes
.../src/countries/turkey_regions.geojson | Bin 107486 -> 107269 bytes
.../src/countries/turkmenistan.geojson | Bin 34959 -> 34870 bytes
.../src/countries/uk.geojson | Bin 478985 -> 477503 bytes
.../src/countries/ukraine.geojson | Bin 173452 -> 173064 bytes
.../united_states_minor_outlying_islands.geojson | Bin 3957 -> 3552 bytes
.../src/countries/uzbekistan.geojson | Bin 50378 -> 50250 bytes
.../src/countries/venezuela.geojson | Bin 119692 -> 118980 bytes
.../src/countries/vietnam.geojson | Bin 138908 -> 138005 bytes
.../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 | 9 +-
.../src/AgGridTable/index.tsx | 8 +-
.../src/AgGridTableChart.tsx | 2 +-
.../src/renderers/TextCellRenderer.tsx | 6 +-
.../src/utils/getInitialSortState.ts | 2 +-
.../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 | 8 +-
.../plugins/plugin-chart-table/package.json | 9 +-
.../plugin-chart-table/src/DataTable/DataTable.tsx | 2 +-
.../plugins/plugin-chart-table/src/Styles.tsx | 5 +
.../plugins/plugin-chart-table/src/TableChart.tsx | 126 +-
.../plugin-chart-table/src/transformProps.ts | 9 +-
.../plugin-chart-table/test/TableChart.test.tsx | 92 +
.../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 | 110 +-
.../src/dashboard/hooks/useDownloadScreenshot.ts | 22 +-
.../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/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/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 | 19 +-
superset-websocket/package-lock.json | 28 +-
superset-websocket/package.json | 4 +-
superset/commands/dashboard/update.py | 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/common/query_object.py | 21 +-
superset/config.py | 5 +
superset/connectors/sqla/models.py | 27 +-
superset/core/api/core_api_injection.py | 35 +
superset/daos/chart.py | 50 +-
superset/daos/dashboard.py | 24 +-
superset/daos/dataset.py | 25 +-
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/base.py | 4 +-
superset/db_engine_specs/gsheets.py | 4 +-
superset/db_engine_specs/mysql.py | 9 +-
superset/explorables/base.py | 168 +-
superset/initialization/__init__.py | 11 +-
superset/mcp_service/app.py | 41 +-
superset/mcp_service/auth.py | 9 +
superset/mcp_service/chart/schemas.py | 156 +-
superset/mcp_service/chart/tool/generate_chart.py | 32 +-
superset/mcp_service/chart/tool/get_chart_data.py | 227 +-
superset/mcp_service/chart/tool/get_chart_info.py | 44 +-
.../mcp_service/chart/tool/get_chart_preview.py | 85 +-
superset/mcp_service/chart/tool/get_chart_sql.py | 30 +-
superset/mcp_service/chart/tool/list_charts.py | 8 +-
superset/mcp_service/common/cache_schemas.py | 67 +-
superset/mcp_service/dashboard/schemas.py | 290 +-
.../dashboard/tool/get_dashboard_info.py | 52 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 8 +-
superset/mcp_service/database/schemas.py | 13 +-
.../mcp_service/database/tool/list_databases.py | 1 +
superset/mcp_service/dataset/schemas.py | 340 +-
superset/mcp_service/dataset/tool/__init__.py | 2 +
superset/mcp_service/dataset/tool/list_datasets.py | 2 +
superset/mcp_service/dataset/tool/query_dataset.py | 489 +
superset/mcp_service/mcp_config.py | 7 +
superset/mcp_service/mcp_core.py | 213 +-
superset/mcp_service/privacy.py | 31 +
superset/mcp_service/sql_lab/schemas.py | 8 +
superset/mcp_service/sql_lab/tool/execute_sql.py | 18 +-
.../sql_lab/tool/open_sql_lab_with_context.py | 88 +-
superset/mcp_service/system/schemas.py | 87 +-
superset/mcp_service/system/tool/__init__.py | 2 +
.../mcp_service/system/tool/generate_bug_report.py | 325 +
superset/mcp_service/utils/__init__.py | 5 +
superset/mcp_service/utils/sanitization.py | 136 +
...6_33d7e0e21daa_add_semantic_layers_and_views.py | 168 +
superset/models/helpers.py | 22 +-
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/cache.py | 2 +-
.../{ca => cs}/LC_MESSAGES/messages.po | 11114 ++++---
.../{de => lv}/LC_MESSAGES/messages.po | 11682 +++----
superset/translations/uk/LC_MESSAGES/messages.po | 10465 +++---
superset/utils/cache_keys.py | 54 +
superset/utils/core.py | 37 +-
superset/viz.py | 11 +
tests/integration_tests/charts/api_tests.py | 6 +-
.../dashboards/test_update_emoji.py | 111 +
tests/integration_tests/datasource/api_tests.py | 52 +
tests/integration_tests/query_context_tests.py | 226 +-
tests/integration_tests/strategy_tests.py | 20 +-
.../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/db_engine_specs/test_gsheets.py | 31 +
tests/unit_tests/db_engine_specs/test_mysql.py | 41 +
.../mcp_service/chart/tool/test_generate_chart.py | 99 +-
.../mcp_service/chart/tool/test_get_chart_data.py | 132 +-
.../mcp_service/chart/tool/test_get_chart_info.py | 92 +
.../chart/tool/test_get_chart_preview.py | 207 +-
.../mcp_service/chart/tool/test_get_chart_sql.py | 36 +-
.../mcp_service/chart/tool/test_list_charts.py | 12 +
.../validation/test_column_name_normalization.py | 13 +
.../dashboard/test_dashboard_schemas.py | 82 +-
.../dashboard/tool/test_dashboard_tools.py | 413 +-
.../database/tool/test_database_tools.py | 38 +-
.../mcp_service/dataset/tool/test_dataset_tools.py | 218 +-
.../mcp_service/dataset/tool/test_query_dataset.py | 831 +
.../mcp_service/sql_lab/tool/test_execute_sql.py | 99 +
.../sql_lab/tool/test_open_sql_lab_with_context.py | 305 +
.../system/tool/test_generate_bug_report.py | 455 +
.../system/tool/test_get_current_user.py | 4 +-
.../mcp_service/system/tool/test_mcp_core.py | 194 +
.../mcp_service/test_auth_user_resolution.py | 37 +
tests/unit_tests/mcp_service/test_mcp_core.py | 314 +
.../mcp_service/utils/test_sanitization.py | 346 +
tests/unit_tests/models/core_test.py | 6 +-
tests/unit_tests/models/helpers_test.py | 46 +
tests/unit_tests/queries/query_object_test.py | 55 +-
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/test_viz_cache_key.py | 111 +
tests/unit_tests/utils/test_core.py | 42 +
.../utils/test_impersonation_cache_key.py | 107 +
507 files changed, 61504 insertions(+), 38367 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-core/src/components/DynamicEditableTitle/DynamicEditableTitle.regression.test.tsx
delete mode 100644 superset-frontend/playwright/fixtures/dataset_export.zip
copy superset-frontend/playwright/helpers/api/{savedQuery.ts => sqllab.ts} (56%)
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/dataset/tool/query_dataset.py
create mode 100644 superset/mcp_service/system/tool/generate_bug_report.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/translations/{ca => cs}/LC_MESSAGES/messages.po (50%)
copy superset/translations/{de => lv}/LC_MESSAGES/messages.po (50%)
create mode 100644 superset/utils/cache_keys.py
create mode 100644 tests/integration_tests/dashboards/test_update_emoji.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/dataset/tool/test_query_dataset.py
create mode 100644 tests/unit_tests/mcp_service/sql_lab/tool/test_open_sql_lab_with_context.py
create mode 100644 tests/unit_tests/mcp_service/system/tool/test_generate_bug_report.py
create mode 100644 tests/unit_tests/mcp_service/test_mcp_core.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_cache_key.py
create mode 100644 tests/unit_tests/utils/test_impersonation_cache_key.py