This is an automated email from the ASF dual-hosted git repository.
yousoph pushed a change to branch yousoph-echarts-docs
in repository https://gitbox.apache.org/repos/asf/superset.git
from a17b0840ef4 Merge branch 'master' into yousoph-echarts-docs
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 d578fa1949d chore(deps): bump @deck.gl/mapbox from 9.3.1 to 9.3.2 in
/superset-frontend (#39814)
add b305c8681c9 chore(deps-dev): update impyla requirement from
<0.17,>0.16.2 to >0.16.2,<0.23 (#39833)
add 5e2c6d8c9e4 chore(deps): bump nanoid from 5.1.9 to 5.1.11 in
/superset-frontend (#39820)
add f018b678950 chore(deps-dev): update sqlalchemy-vertica-python
requirement from <0.6,>=0.5.9 to >=0.5.9,<0.7 (#39831)
add d7beffcec12 chore(deps-dev): bump
eslint-plugin-react-you-might-not-need-an-effect from 0.9.3 to 0.10.0 in
/superset-frontend (#39853)
add 7290d3c452a chore(deps-dev): update pyathena requirement from <3,>=2
to >=2,<4 (#39830)
add d7663a9a1cc chore(deps-dev): update denodo-sqlalchemy requirement from
~=1.0.6 to >=1.0.6,<2.1.0 (#39832)
add adfbbf1433c fix(sql): quote identifiers in transpile_to_dialect to fix
case-sensitive column filters (#39521)
add 9aaa12c7d44 fix(reports): preserve urlParams in multi-tab report
fan-out (#39884)
add e667ceb6cfa feat(themes): expose active theme mode via data-theme-mode
attribute (#39063)
add 4aa4415d8fd fix(i18n): update Russian translations (#39589)
add 5b5dd010285 fix(sqla): parenthesize calculated column expressions in
WHERE clause (#39793)
add b5186d1c65c fix(reports): keep body sized so standalone screenshots
don't time out (#39944)
add d3c44e311eb chore(deps): bump aws-actions/amazon-ecr-login from 2.1.4
to 2.1.5 (#39931)
add 7593d2a164d chore(deps): bump caniuse-lite from 1.0.30001791 to
1.0.30001792 in /docs (#39933)
add 9ac4711ac8c fix(mcp): prevent DetachedInstanceError in
get_chart_preview (#39921)
add 9b520312a1a fix(mcp): use tiktoken for response-size-guard token
estimation (#39912)
add 8088c5d1dea fix(dashboard): match auto-refresh paused-dot outline to
icon color (#39909)
add 8c80caefa37 fix(explore): preserve preview chart name on save (#39908)
add aa710672edb fix(ui): remove makeUrl() double-prefix bugs under
subdirectory deployment (#39503)
add ad5e3170dd8 fix: OpenSearch dialect identifier delimiters (#39953)
add d3784879c29 fix(embedded-sdk): grant fullscreen and clipboard-write by
default (#39943)
add 69fbbfd7cef fix(table): consolidate visual column options under Visual
formatting section (#39856)
add 5bde86785f6 fix(docs): read capability flags from engine specs in
database docs generator (#39449)
add 2f82236b297 feat(docs): expand docs:screenshots generator with
manifest and tutorial captures (#39444)
add b8995561300 docs: Superset 6.1 documentation catch-up (security,
alerts/reports, theming, config) (#39440)
add 4311a15eb2b feat(sqlglot): Vertica dialect (#39969)
add 0250092378c chore(frontend): TypeScript 6.0 readiness — declaration
emit fixes (Phase A) (#39530)
add dc22b82d88a chore(deps-dev): bump @typescript-eslint/parser from
8.59.1 to 8.59.2 in /superset-websocket (#39874)
add dce3317bc9f chore(deps-dev): bump typescript-eslint from 8.59.1 to
8.59.2 in /docs (#39876)
add ff7dc538536 fix(mcp): get_chart_sql drops x_axis on
echarts_timeseries_* and only renders one query for mixed_timeseries (#39865)
add cfb0b6e8119 fix(mcp): clarify request wrapper in list_datasets,
list_charts, list_dashboards (#39920)
add e934f2af927 fix(tests): prevent jest hangs caused by
MessageChannel-mocked React scheduler (#39957)
add 547660dcc42 fix(mcp): ASCII chart crashes with NaN when dataset
contains null values (#39916)
add d023fe17035 fix(trino/presto): use equality for boolean filters to
support computed columns (#39500)
add a60860c9692 fix(table): fall back to datasource columns for
conditional formatting when query results are empty (#39345)
add 68fa8e2733c fix(viz): flatten MultiIndex columns in Time-Series Table
for multiple Group By (#37869)
add f67dd4a8f3a chore(deps): bump geostyler from 18.5.0 to 18.5.1 in
/superset-frontend (#39702)
add f81821086a4 chore(releasing): fix email parsing in verify_release.py
(#39602)
add d83b0c5ce33 feat: support creating datasets for schema-less databases
(#39433)
add 372b50e19d7 fix(dashboard): row limit warning missing for non-table
charts (#39911)
add 245fffca799 fix(dashboard): Clear All filters now stages changes until
Apply (#39778)
add 5a453fe95d5 chore(deps-dev): bump wait-on from 9.0.5 to 9.0.6 in
/superset-frontend (#40014)
add 2adb6f64eb6 chore(deps): bump baseline-browser-mapping from 2.10.27 to
2.10.29 in /docs (#40013)
add 2cf4a2c31f3 chore(deps-dev): bump databricks-sql-connector from 4.1.2
to 4.2.6 (#39989)
add 6271272e601 chore(deps): bump nh3 from 0.2.21 to 0.3.5 (#39988)
add 1c795418d28 chore(deps-dev): bump pyinstrument from 4.4.0 to 5.1.2
(#39987)
add 14ba6665948 chore(deps-dev): update ibm-db-sa requirement from
<=0.4.0,>0.3.8 to >0.3.8,<=0.4.4 (#39986)
add fcf3f6c0d52 chore(deps-dev): update pinotdb requirement from
<6.0.0,>=5.0.0 to >=5.0.0,<10.0.0 (#39985)
add 3e1cfc6d697 chore(deps): bump @babel/plugin-transform-modules-systemjs
from 7.27.1 to 7.29.4 in /docs (#39981)
add ad7075d2aae chore(deps): bump fast-uri from 3.0.6 to 3.1.2 in /docs
(#39979)
add 494c29f5bf0 chore(deps-dev): bump @typescript-eslint/eslint-plugin
from 8.59.1 to 8.59.2 in /superset-frontend (#39878)
add 1d1a0e6fecc chore(deps-dev): update sqlalchemy-firebird requirement
from <0.8,>=0.7.0 to >=0.7.0,<2.2 (#39755)
add eed7098093e perf(sql-lab): use useDeferredValue for schema browser
search (#39928)
add 3e3c5c36c34 perf(explore): use useDeferredValue for datasource panel
search (#39970)
add 2cc20d3284b perf(explore): use useDeferredValue for explore menu
search and JS editor parse (#39975)
add 516bb19e105 feat(frontend): enable React StrictMode at root (#39893)
add 96ad20318d5 chore(superset-core): forward-compat fixes for TypeScript
6.0 - Phase C (#39537)
add db0c5b32da9 chore(lint): convert SuperChart and SuperChartCore to
function components (#39457)
add a7aa854968a fix(big-number): guard against null colorPicker in
transformProps (#39110)
add 26ef4b7ed37 fix(sqla): pass catalog and schema to get_sqla_engine in
values_for_column (#38681)
add 2fe6269c22b chore(lint): convert ChartDataProvider and StatefulChart
to function components (#39456)
add 006a1800bec chore(lint): convert react-pivottable components to
function components (#39453)
add 6ee4d694bcb fix(sqllab): include template_params when overwriting a
dataset (#39501)
add d90d3a2dea4 fix(importexport): honor overwrite flag on
/api/v1/assets/import (#39502)
add 785a08c7d5c chore(frontend): export typed useAppDispatch /
useAppSelector hooks (#40027)
add e77f6ece92e fix(ci): serialize Docs Deployment runs to avoid push
races (#40030)
add cfb704dbeb7 test(sqllab): stabilize SaveDatasetModal overwrite-flow
test helper (#40036)
add 187bb416e76 fix(plugin-chart-ag-grid-table): use display text for
filter and sort on HTML cells (#39885)
add e66fbc91c2d chore(gha): pass commenter login through env in claude.yml
(#40042)
add 5ab8583cd0d chore(gha): pin github/codeql-action to a SHA (#40043)
add 24d76b42495 fix(sunburst): remove label text outline in dark theme
(#39774)
add fed29b3017d fix(deploy): prevent double-prefix of logo URL in
subdirectory deployments (#39472)
add a6ad0bf1692 fix(re-encrypt-secrets): use db.Model.metadata to discover
encrypted … (#39390)
add fa168fcc8a5 fix(Label): use correct color for label component (#38707)
add 85935b0b882 fix(mcp): handle SSL connection drop during pre-call
session teardown (#39917)
add 460992d89b3 fix(mcp): improve not-found errors to suggest
corresponding list_* tools (#39919)
add d2ae5fb275c fix(ux): remove CSS-forced uppercase from button labels
(#40049)
add c394405fc18 fix(explore): restore spacing between tabs and content in
control popovers (#40023)
add b0c5b061c52 fix(sqllab): display horizontal scrollbar in data preview
modal (#39799)
add 4a79896bb24 chore(build): replace replaceable `jest-mock-console` with
native Jest spies (#38643)
add 658907a0a61 fix(gha): use sound condition gating for latest-tag step
(#40035)
add c9fb1bc10fc chore(deps-dev): bump @typescript-eslint/parser from
8.59.2 to 8.59.3 in /superset-frontend (#40057)
add 3363b481807 fix(spark): register Spark SQLAlchemy dialect so spark://
URIs resolve to SparkEngineSpec (#38299)
add 39ad6b200fb docs(update): fix typos in UPDATING.md (#40068)
add 2392c8e624a fix(Select): fix Russian translations for Select (#35751)
add 74451057355 fix(explore): explain disabled chart overwrite option
(#39796)
add f2eee4ef464 fix(frontend): prevent LanguagePicker crash when locale is
missing from LANGUAGES config (#39585)
add e94465208f5 fix(bar-chart): cap bar width so a single data point
doesn't stretch across the chart (#39588)
add a77fec68d40 fix(drill-detail): make page-size selector functionally
adjustable (#37975)
add 43a89f8710e chore(deps-dev): bump terser-webpack-plugin from 5.5.0 to
5.6.0 in /superset-frontend (#40061)
add 9160da0d27a chore(deps-dev): bump yeoman-test from 11.3.1 to 11.5.2 in
/superset-frontend (#40058)
add fe22e060118 chore(deps): bump mermaid from 11.10.0 to 11.15.0 in /docs
(#40038)
add 4c14e16e583 chore(deps): bump @babel/plugin-transform-modules-systemjs
from 7.20.11 to 7.29.4 in /superset-frontend/cypress-base (#39982)
add 86ba63b0723 fix(dashboard): prevent duplicate subdirectory prefix when
toggling fullscreen (#39534)
add d8b2c5872b7 chore(deps-dev): bump @swc/core from 1.15.32 to 1.15.33 in
/superset-frontend (#39935)
add 4d0cc1d7a60 chore(deps): bump zod from 4.4.1 to 4.4.3 in
/superset-frontend (#39904)
add fa06989ed71 fix(mcp): return requested update chart previews (#40077)
add af4dc3a9aa6 fix(re-encrypt): handle non-id PKs and make command
idempotent (#40079)
add 1d220f7172c chore(deps-dev): update fs-extra requirement from ^11.3.4
to ^11.3.5 in /superset-frontend/packages/generator-superset (#39930)
add 0d9ecb76645 chore(deps-dev): update @types/node requirement from
^25.6.0 to ^25.7.0 in /superset-frontend/packages/superset-ui-core (#40059)
add e2a8a88d366 docs: Update documentation link for
ENABLE_SUPERSET_META_DB (#40076)
add c59ab8bffdf feat(mcp): add data boundary instruction to harden against
prompt injection (#40080)
add 940779ad5f1 feat(event-log): add event logging for embedded Superset
(#40083)
add 6cebba49ca0 fix(AlertReportModal): TypeError when pasting text into
the Alerts content form search field (#39298)
add 726d83d758d fix(mcp): remove stale created_by_fk filter references
from MCP privacy layer (#39955)
add 6a1305fe530 chore(deps): update zod requirement from ^4.4.1 to ^4.4.3
in /superset-frontend/plugins/plugin-chart-echarts (#40091)
add 2c7e418d7bc chore(deps): bump @ant-design/icons from 6.2.2 to 6.2.3 in
/docs (#40086)
add 9e749da93c6 chore(deps): bump ws from 8.20.0 to 8.20.1 in
/superset-websocket (#40085)
add aebc6fbf344 chore(deps-dev): bump @types/node from 25.6.0 to 25.7.0 in
/superset-websocket (#40052)
add b4cb780e748 chore(deps): update ace-builds requirement from ^1.43.6 to
^1.44.0 in /superset-frontend/packages/superset-ui-core (#40017)
add 5d40d8aeac7 chore(deps): bump actions/dependency-review-action from
4.9.0 to 5.0.0 (#40016)
add 577085eeceb chore(deps-dev): bump fast-uri from 3.0.1 to 3.1.2 in
/superset-embedded-sdk (#39978)
add 8074ae2e38c chore(deps): bump fast-uri from 3.1.0 to 3.1.2 in
/superset-frontend/cypress-base (#39974)
add 803fed28b89 chore(deps): update react requirement from ^19.2.5 to
^19.2.6 in /superset-frontend/plugins/legacy-plugin-chart-chord (#39929)
add cdddb99e9ac chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in
/superset-frontend (#39880)
add 6216e574909 chore(deps): bump react-syntax-highlighter from 16.1.0 to
16.1.1 in /superset-frontend (#39698)
add a50de459aea fix(dashboard): restore spacing for charts inside Tabs
layout (#38729)
add 85c44110414 chore(deps-dev): bump
@babel/plugin-transform-modules-systemjs from 7.25.0 to 7.29.4 in
/superset-embedded-sdk (#39983)
add 1a7a14c3573 fix(explore): remove leftover debug console.log in
ZoomConfigControl (#39991)
add 817814d4f65 chore: Bump core packages to 0.1.0 (#40029)
add 2a1dcb79e37 fix(mcp): expose table chart type labels in chart
responses (#40060)
add 958d4aa3dec fix(export): fix double app-root prefix in
chart/drill-detail export URLs (#39710)
add d7fa9301cca fix(dashboard): restore top-level tab drop target for
dashboards with content (#39423)
add 992f561ab9e chore(deps): bump mapbox-gl from 3.23.0 to 3.23.1 in
/superset-frontend (#39879)
add c233bf61713 chore(deps-dev): bump baseline-browser-mapping from
2.10.24 to 2.10.29 in /superset-frontend (#39903)
add d6c458abd41 chore(deps-dev): bump oxlint from 1.62.0 to 1.63.0 in
/superset-frontend (#39937)
add d690aa7eb4c chore(deps): bump immer from 11.1.4 to 11.1.7 in
/superset-frontend (#39941)
add 17a5f693393 chore(deps): bump chrono-node from 2.9.0 to 2.9.1 in
/superset-frontend (#39939)
add 5bad4f55fb5 chore(deps-dev): bump @playwright/test from 1.59.1 to
1.60.0 in /superset-frontend (#40088)
add 21e62d594eb chore(deps-dev): bump wait-on from 9.0.6 to 9.0.10 in
/superset-frontend (#40087)
add 676979643fe chore(deps-dev): bump @babel/preset-env from 7.29.3 to
7.29.5 in /superset-frontend (#39934)
add 48530cb8884 chore(deps-dev): bump @babel/register from 7.28.6 to
7.29.3 in /superset-frontend (#39818)
add d1e9a5df06c chore(docs): clean up version-cutting tooling and finish
developer_portal rename (#39837)
add 01224007daf fix(mixed-timeseries): preserve all-NaN metric columns
after pivot when Jinja evaluates to NULL (#40005)
add a62bf2b0bb7 fix: chart rendering race condition and homepage
connection reset (#40065)
add e56883baef6 fix(ci): handle schedule event in change_detector and
actually trigger all-changed (#40105)
add 64dae07675e chore(deps): bump markdown-to-jsx from 9.7.16 to 9.8.0 in
/superset-frontend (#40111)
add 8b0e63b58c5 fix(rls): prevent double-apply when converting physical
dataset to virtual (#39725)
add 966e97989bb chore(mcp): Standardize error response shapes across chart
tools (#39905)
add 823eb905d3f fix(mcp): JSON-serialize order_by_cols and support sort
direction (#39952)
add 62dc2370141 chore(ci): add explicit permissions to additional
workflows (#40067)
add 9a05c06b3a6 Merge branch 'master' into yousoph-echarts-docs
No new revisions were added by this update.
Summary of changes:
.github/workflows/check-python-deps.yml | 4 +
.github/workflows/claude.yml | 10 +-
.github/workflows/codeql-analysis.yml | 4 +-
.github/workflows/dependency-review.yml | 2 +-
.github/workflows/docker.yml | 4 +
.github/workflows/embedded-sdk-release.yml | 3 +
.github/workflows/embedded-sdk-test.yml | 3 +
.github/workflows/ephemeral-env-pr-close.yml | 2 +-
.github/workflows/ephemeral-env.yml | 4 +-
.github/workflows/generate-FOSSA-report.yml | 3 +
.github/workflows/github-action-validator.yml | 3 +
.github/workflows/latest-release-tag.yml | 2 +-
.github/workflows/license-check.yml | 3 +
.github/workflows/superset-app-cli.yml | 4 +
.github/workflows/superset-docs-deploy.yml | 10 +
.github/workflows/superset-extensions-cli.yml | 4 +
.github/workflows/superset-helm-lint.yml | 3 +
.github/workflows/superset-python-unittest.yml | 1 +
.github/workflows/superset-translations.yml | 4 +
.github/workflows/superset-websocket.yml | 3 +
.rat-excludes | 3 +
RELEASING/verify_release.py | 62 +-
UPDATING.md | 15 +-
docker/pythonpath_dev/superset_config.py | 8 +-
docs/DOCS_CLAUDE.md | 33 +-
docs/README.md | 56 +-
docs/admin_docs/configuration/alerts-reports.mdx | 81 +
.../configuration/configuring-superset.mdx | 32 +
docs/admin_docs/configuration/theming.mdx | 17 +-
docs/admin_docs/security/security.mdx | 51 +
docs/components/versions.json | 1 -
.../extensions/contribution-types.md | 49 +
docs/developer_docs/versions.json | 1 -
docs/developer_portal_versions.json | 1 -
docs/docs/using-superset/handlebars-chart.mdx | 143 +
docs/package.json | 43 +-
docs/scripts/generate-database-docs.mjs | 317 +-
docs/scripts/manage-versions.mjs | 259 +-
docs/src/data/databases.json | 10541 ++++++---
docs/src/theme/DocVersionBadge/index.js | 28 +-
docs/src/theme/DocVersionBanner/index.js | 121 -
docs/src/theme/DocVersionBanner/styles.module.css | 49 -
docs/static/feature-flags.json | 8 +-
docs/static/img/screenshots/dashboard.jpg | Bin 136723 -> 134621
bytes
docs/static/img/screenshots/explore.jpg | Bin 106386 -> 118936
bytes
docs/static/img/screenshots/gallery.jpg | Bin 121316 -> 121175
bytes
docs/static/img/screenshots/sql_lab.jpg | Bin 101650 -> 98906
bytes
docs/static/img/tutorial/create_pivot.png | Bin 80625 -> 245987
bytes
.../img/tutorial/publish_button_dashboard.png | Bin 85940 -> 39607 bytes
.../img/tutorial/tutorial_08_sources_tables.png | Bin 52421 -> 134075
bytes
docs/static/img/tutorial/tutorial_chart_resize.png | Bin 86804 -> 12623 bytes
docs/static/img/tutorial/tutorial_edit_button.png | Bin 14099 -> 2176 bytes
.../img/tutorial/tutorial_first_dashboard.png | Bin 99255 -> 37504 bytes
docs/static/img/tutorial/tutorial_save_slice.png | Bin 144443 -> 21738
bytes
docs/tutorials_versions.json | 3 -
docs/yarn.lock | 1277 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 2 +-
helm/superset/values.yaml | 7 +
pyproject.toml | 40 +-
requirements/base.txt | 7 +-
requirements/development.txt | 9 +-
scripts/change_detector.py | 16 +-
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-embedded-sdk/package-lock.json | 568 +-
superset-embedded-sdk/src/index.ts | 13 +-
superset-extensions-cli/pyproject.toml | 2 +-
superset-frontend/.eslintrc.js | 4 +
superset-frontend/cypress-base/package-lock.json | 427 +-
superset-frontend/package-lock.json | 21380 +++++++++----------
superset-frontend/package.json | 60 +-
.../packages/generator-superset/package.json | 4 +-
.../packages/superset-core/package.json | 13 +-
.../packages/superset-core/src/testing.tsx | 4 +-
.../packages/superset-core/src/theme/Theme.tsx | 14 +-
.../src/theme/utils/themeUtils.test.ts | 2 +-
.../packages/superset-core/types/external.d.ts | 7 +
.../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 | 16 +-
.../src/chart/components/ChartDataProvider.tsx | 204 +-
.../src/chart/components/SuperChart.tsx | 439 +-
.../src/chart/components/SuperChartCore.tsx | 376 +-
.../src/chart/components/createLoadableRenderer.ts | 130 +-
.../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 -
.../src/components/Label/index.tsx | 2 +-
.../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 +-
.../src/components/Select/Select.test.tsx | 2 +-
.../src/components/Select/Select.tsx | 6 +-
.../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 | 32 +-
.../test/chart/components/SuperChartCore.test.tsx | 38 +-
.../components/createLoadableRenderer.test.tsx | 7 -
.../test/color/CategoricalColorScale.test.ts | 179 +
.../test/connection/SupersetClient.test.ts | 11 +-
.../superset-ui-core/test/models/Registry.test.ts | 25 +-
.../test/query/types/Datasource.test.ts | 3 +-
.../test/time-format/TimeFormatter.test.ts | 10 +-
.../generators/docs/docs-screenshots.spec.ts | 509 +-
.../generators/docs/screenshot-manifest.yaml | 1393 ++
.../playwright/generators/playwright.config.ts | 1 +
.../tests/dashboard/clear-all-filters.spec.ts | 220 +
.../legacy-plugin-chart-calendar/package.json | 2 +-
.../plugins/legacy-plugin-chart-chord/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 +-
.../plugins/legacy-plugin-chart-rose/src/Rose.ts | 11 +-
.../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/controlPanel.tsx | 18 +-
.../src/renderers/TextCellRenderer.tsx | 6 +-
.../src/utils/getInitialSortState.ts | 2 +-
.../src/utils/htmlTextFilterValueGetter.test.ts | 83 +
.../src/utils/htmlTextFilterValueGetter.ts | 74 +
.../src/utils/useColDefs.ts | 21 +
.../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 +-
.../BigNumberWithTrendline/transformProps.test.ts | 27 +
.../BigNumberWithTrendline/transformProps.ts | 10 +-
.../src/MixedTimeseries/EchartsMixedTimeseries.tsx | 2 +-
.../src/Sunburst/transformProps.ts | 2 -
.../src/Timeseries/transformers.ts | 3 +
.../src/Treemap/EchartsTreemap.tsx | 6 +-
.../test/MixedTimeseries/transformProps.test.ts | 132 +
.../test/Sunburst/transformProps.test.ts | 53 +
.../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 +-
.../src/react-pivottable/PivotTable.tsx | 10 +-
.../src/react-pivottable/TableRenderers.tsx | 1969 +-
.../test/react-pivottable/tableRenders.test.tsx | 1380 +-
.../plugin-chart-point-cluster-map/package.json | 6 +-
.../plugins/plugin-chart-table/package.json | 9 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 23 +-
.../plugin-chart-table/src/controlPanel.tsx | 102 +-
.../plugin-chart-table/src/transformProps.ts | 9 +-
.../plugin-chart-table/test/controlPanel.test.tsx | 145 +-
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
.../plugins/preset-chart-deckgl/package.json | 6 +-
.../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 +
superset-frontend/src/SqlLab/actions/sqlLab.ts | 8 +-
.../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 +-
.../QueryAutoRefresh/QueryAutoRefresh.test.tsx | 2 +-
.../src/SqlLab/components/QueryTable/index.tsx | 25 +-
.../src/SqlLab/components/QueryTable/styles.ts | 1 -
.../components/RunQueryActionButton/index.tsx | 8 +-
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 168 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 93 +-
.../src/SqlLab/components/SouthPane/index.tsx | 2 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 5 +-
.../SqlEditorTopBar/useDatabaseSelector.test.ts | 2 +-
.../SqlLab/components/TableExploreTree/index.tsx | 20 +-
.../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.test.tsx | 78 +
.../Chart/DrillDetail/DrillDetailPane.tsx | 29 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 4 +-
.../src/components/Chart/chartAction.ts | 21 +-
.../src/components/Chart/chartActions.test.ts | 72 +
.../Chart/useDrillDetailMenuItems/index.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 34 +-
.../src/components/DatabaseSelector/types.ts | 2 +
.../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 +-
.../TableSelector/TableSelector.test.tsx | 46 +
.../src/components/TableSelector/index.tsx | 9 +-
.../components/AddSliceCard/AddSliceCard.tsx | 3 +-
.../AutoRefreshStatus/StatusIndicatorDot.test.tsx | 12 +-
.../AutoRefreshStatus/StatusIndicatorDot.tsx | 12 +-
.../src/dashboard/components/Dashboard.tsx | 2 +-
.../DashboardBuilder/DashboardBuilder.test.tsx | 46 +
.../DashboardBuilder/DashboardBuilder.tsx | 12 +-
.../DashboardBuilder/DashboardContainer.tsx | 5 +-
.../src/dashboard/components/DashboardGrid.tsx | 2 +-
.../dashboard/components/Header/Header.test.tsx | 109 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 13 +-
.../dashboard/components/PropertiesModal/index.tsx | 2 +-
.../src/dashboard/components/SliceAdder.tsx | 3 +-
.../components/SliceHeader/SliceHeader.test.tsx | 117 +
.../src/dashboard/components/SliceHeader/index.tsx | 11 +-
.../components/filterscope/FilterScopeSelector.tsx | 2 +-
.../components/gridComponents/Chart/Chart.tsx | 5 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 5 +-
.../components/gridComponents/Column/Column.tsx | 2 +-
.../DynamicComponent/DynamicComponent.tsx | 4 +-
.../gridComponents/Header/Header.test.tsx | 1 +
.../gridComponents/Markdown/Markdown.test.tsx | 46 +-
.../gridComponents/Markdown/Markdown.tsx | 10 +-
.../components/gridComponents/Tab/Tab.tsx | 2 +-
.../components/gridComponents/Tabs/Tabs.tsx | 2 +-
.../new/DraggableNewComponent.test.tsx | 1 +
.../useCrossFiltersScopingModal.test.ts | 6 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 131 +-
.../FilterBar/FilterBarSettings/index.tsx | 2 +-
.../FilterBar/FilterControls/FilterControls.tsx | 8 +-
.../FilterBar/FilterControls/GroupByFilterCard.tsx | 16 +-
.../FilterBar/FilterControls/state.test.ts | 11 +-
.../components/nativeFilters/FilterBar/index.tsx | 13 +-
.../FiltersConfigForm/DatasetSelect.tsx | 11 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 2 +-
.../__tests__/TreeInitialization.test.tsx | 2 +-
.../FilterScope/__tests__/TreeSelection.test.tsx | 2 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 21 +-
.../FiltersConfigForm/TimeGrainPreFilter.test.tsx | 2 +-
.../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/dashboard/reducers/dashboardFilters.ts | 2 +-
.../src/dashboard/reducers/dashboardInfo.ts | 8 +-
.../src/dashboard/util/getDashboardUrl.test.ts | 10 +
superset-frontend/src/dataMask/reducer.ts | 6 +-
.../src/embedded/EmbeddedContextProviders.tsx | 5 +-
superset-frontend/src/embedded/index.tsx | 51 +-
.../src/explore/actions/exploreActions.test.ts | 105 +
.../src/explore/actions/exploreActions.ts | 85 +
.../src/explore/actions/hydrateExplore.test.ts | 82 +
.../src/explore/actions/hydrateExplore.ts | 15 +-
.../src/explore/actions/saveModalActions.ts | 7 +-
.../src/explore/components/ChartPills.tsx | 6 +-
.../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 | 13 +-
.../components/ExploreChartHeader/index.tsx | 171 +-
.../explore/components/ExploreChartPanel/index.tsx | 4 +-
.../explore/components/ExploreContainer/index.tsx | 3 +-
.../explore/components/ExploreContentPopover.tsx | 10 +-
.../components/ExploreViewContainer/index.tsx | 48 +-
.../src/explore/components/SaveModal.test.tsx | 56 +-
.../src/explore/components/SaveModal.tsx | 17 +-
.../components/StashFormDataContainer/index.tsx | 3 +-
.../controls/CollectionControl/index.tsx | 421 +-
.../ColumnConfigConstants.test.tsx | 20 +-
.../controls/ColumnConfigControl/constants.tsx | 2 -
.../components/controls/CustomListItem/index.tsx | 61 +-
.../controls/DatasourceControl/index.tsx | 53 +-
.../DateFilterControl/tests/CustomFrame.test.tsx | 2 +-
.../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/AdhocFilterControl/index.tsx | 2 +-
.../FilterControl/AdhocFilterEditPopover/index.tsx | 54 +-
.../index.tsx | 7 +-
.../AdhocFilterPopoverTrigger/index.tsx | 3 +-
.../utils/useDatePickerInAdhocfilter.test.ts | 2 +-
.../utils/useGetTimeRangeLabel.test.ts | 22 +-
.../components/controls/JSEditorControl.test.tsx | 4 -
.../components/controls/JSEditorControl.tsx | 9 +-
.../LayerConfigsPopoverContent.tsx | 2 -
.../controls/MapViewControl/MapViewControl.tsx | 1 -
.../AdhocMetricEditPopover.test.tsx | 80 +-
.../MetricControl/AdhocMetricEditPopover/index.tsx | 39 +-
.../MetricControl/AdhocMetricOption.test.tsx | 6 +-
.../controls/MetricControl/MetricsControl.test.tsx | 9 +-
.../controls/MetricControl/MetricsControl.tsx | 2 +-
.../VizTypeControl/VizTypeControl.test.tsx | 2 +-
.../ZoomConfigControl/ZoomConfigControl.tsx | 1 -
.../useExploreAdditionalActionsMenu/index.tsx | 11 +-
superset-frontend/src/explore/controls.tsx | 3 +-
.../src/explore/exploreUtils/exportChart.test.ts | 26 +-
.../src/explore/exploreUtils/index.ts | 15 +-
.../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 +
.../src/features/alerts/AlertReportModal.test.tsx | 24 +
.../src/features/alerts/AlertReportModal.tsx | 9 +-
.../cssTemplates/CssTemplateModal.test.tsx | 104 +
.../databases/DatabaseModal/index.test.tsx | 12 +-
.../src/features/databases/DatabaseModal/index.tsx | 5 +-
.../src/features/databases/DatabaseModal/styles.ts | 9 +-
.../DatasetPanel/DatasetPanelWrapper.test.tsx} | 49 +-
.../datasets/AddDataset/DatasetPanel/index.tsx | 17 +-
.../datasets/hooks/useDatasetLists.test.ts | 62 +-
.../src/features/datasets/hooks/useDatasetLists.ts | 11 +-
.../metadataBar/useDatasetMetadataBar.test.tsx | 2 +-
superset-frontend/src/features/home/EmptyState.tsx | 5 +-
.../src/features/home/LanguagePicker.tsx | 14 +-
superset-frontend/src/features/home/Menu.tsx | 13 +-
.../src/features/home/RightMenu.test.tsx | 9 +-
superset-frontend/src/features/home/RightMenu.tsx | 7 +-
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/reports/ReportModal/styles.tsx | 5 +-
.../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 +-
.../components/Select/SelectFilterPlugin.test.tsx | 18 +-
.../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 | 41 +-
superset-frontend/src/hooks/apiResources/tables.ts | 19 +-
.../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/middleware/loggerMiddleware.ts | 9 +-
.../src/pages/ChartCreation/index.tsx | 19 +-
superset-frontend/src/pages/ChartList/index.tsx | 5 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 501 +-
.../src/pages/DatasetCreation/index.tsx | 1 +
.../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 | 85 +-
.../pages/DatasetList/DatasetList.testHelpers.tsx | 28 +-
superset-frontend/src/pages/DatasetList/index.tsx | 801 +-
.../src/pages/FileHandler/index.test.tsx | 39 +-
.../pages/SavedQueryList/SavedQueryList.test.tsx | 47 +-
.../src/pages/SavedQueryList/index.tsx | 12 +-
.../src/pages/SqlLab/LocationContext.tsx | 4 +-
superset-frontend/src/theme/ThemeController.ts | 16 +-
superset-frontend/src/theme/ThemeProvider.tsx | 14 +-
.../src/theme/hooks/useThemeValidation.test.ts | 2 +-
.../src/theme/tests/ThemeController.test.ts | 35 +
.../src/theme/tests/ThemeProvider.test.tsx | 58 +-
superset-frontend/src/types/Dataset.ts | 11 +-
.../Spin/index.tsx => src/types/emotion-jest.d.ts} | 2 +-
superset-frontend/src/utils/pathUtils.test.ts | 16 +
superset-frontend/src/utils/pathUtils.ts | 10 +-
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/src/views/store.ts | 14 +
superset-frontend/webpack.config.js | 14 +-
superset-websocket/package-lock.json | 332 +-
superset-websocket/package.json | 14 +-
superset/app.py | 16 -
superset/cli/update.py | 22 +-
superset/commands/database/tables.py | 4 +-
.../commands/datasource}/__init__.py | 0
superset/commands/datasource/list.py | 245 +
superset/commands/explore/get.py | 6 +-
superset/commands/importers/v1/assets.py | 86 +-
superset/commands/report/execute.py | 59 +-
.../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 | 13 +-
superset/config.py | 5 +-
superset/connectors/sqla/models.py | 28 +-
superset/core/api/core_api_injection.py | 35 +
superset/daos/datasource.py | 160 +-
superset/daos/semantic_layer.py | 220 +
superset/dashboards/permalink/types.py | 6 +-
superset/databases/schemas.py | 3 +
superset/datasets/datetime_format_detector.py | 11 +-
superset/datasource/api.py | 183 +-
superset/datasource/schemas.py | 155 +
superset/db_engine_specs/base.py | 5 +
superset/db_engine_specs/lib.py | 10 +
superset/db_engine_specs/mysql.py | 6 +-
superset/db_engine_specs/presto.py | 4 +
superset/db_engine_specs/spark.py | 6 +-
superset/db_engine_specs/ydb.py | 1 +
superset/explorables/base.py | 168 +-
superset/importexport/api.py | 11 +
superset/initialization/__init__.py | 11 +-
superset/mcp_service/CLAUDE.md | 19 +-
superset/mcp_service/app.py | 15 +
superset/mcp_service/auth.py | 45 +-
superset/mcp_service/chart/ascii_charts.py | 43 +-
superset/mcp_service/chart/chart_utils.py | 21 +-
superset/mcp_service/chart/compile.py | 362 +
superset/mcp_service/chart/preview_utils.py | 2 +
superset/mcp_service/chart/schemas.py | 59 +-
superset/mcp_service/chart/tool/generate_chart.py | 98 +-
superset/mcp_service/chart/tool/get_chart_data.py | 11 +-
.../mcp_service/chart/tool/get_chart_preview.py | 46 +-
superset/mcp_service/chart/tool/get_chart_sql.py | 110 +-
superset/mcp_service/chart/tool/list_charts.py | 20 +-
superset/mcp_service/chart/tool/update_chart.py | 100 +-
.../mcp_service/chart/tool/update_chart_preview.py | 127 +-
.../chart/validation/dataset_validator.py | 161 +-
superset/mcp_service/common/error_schemas.py | 58 +-
superset/mcp_service/dashboard/schemas.py | 5 +-
.../tool/add_chart_to_existing_dashboard.py | 10 +-
.../dashboard/tool/generate_dashboard.py | 5 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 20 +-
superset/mcp_service/dataset/schemas.py | 13 +-
superset/mcp_service/dataset/tool/list_datasets.py | 19 +-
superset/mcp_service/dataset/tool/query_dataset.py | 5 +-
.../explore/tool/generate_explore_link.py | 61 +
superset/mcp_service/middleware.py | 19 +-
superset/mcp_service/privacy.py | 31 +-
superset/mcp_service/sql_lab/schemas.py | 8 +
superset/mcp_service/sql_lab/tool/execute_sql.py | 23 +-
.../sql_lab/tool/open_sql_lab_with_context.py | 3 +-
superset/mcp_service/utils/token_utils.py | 93 +-
...6_33d7e0e21daa_add_semantic_layers_and_views.py | 168 +
superset/models/helpers.py | 31 +-
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/sql/dialects/__init__.py | 11 +-
superset/sql/dialects/opensearch.py | 6 +-
superset/sql/dialects/vertica.py | 87 +
superset/sql/parse.py | 7 +-
superset/superset_typing.py | 51 +-
superset/tasks/async_queries.py | 5 +
superset/templates/superset/spa.html | 7 +
superset/translations/ru/LC_MESSAGES/messages.po | 733 +-
superset/utils/core.py | 37 +-
superset/utils/encrypt.py | 192 +-
superset/utils/pandas_postprocessing/pivot.py | 78 +-
superset/utils/rls.py | 40 +-
superset/views/core.py | 11 +-
superset/viz.py | 14 +
tests/integration_tests/charts/api_tests.py | 6 +-
tests/integration_tests/cli_tests.py | 42 +
tests/integration_tests/core_tests.py | 55 +-
tests/integration_tests/databases/api_tests.py | 8 +
tests/integration_tests/datasource/api_tests.py | 52 +
tests/integration_tests/query_context_tests.py | 226 +-
tests/integration_tests/utils/encrypt_tests.py | 230 +-
tests/integration_tests/viz_tests.py | 39 +
tests/unit_tests/commands/databases/tables_test.py | 72 +
.../unit_tests/commands/datasource}/__init__.py | 0
tests/unit_tests/commands/datasource/list_test.py | 162 +
.../commands/importers/v1/assets_test.py | 335 +-
tests/unit_tests/commands/report/execute_test.py | 111 +
.../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 +
tests/unit_tests/databases/api_test.py | 2 +
.../datasets/test_datetime_format_detector.py | 57 +
tests/unit_tests/datasource/dao_tests.py | 29 +
tests/unit_tests/db_engine_specs/test_presto.py | 44 +
tests/unit_tests/db_engine_specs/test_trino.py | 44 +
tests/unit_tests/extension_tests.py | 47 +
tests/unit_tests/importexport/api_test.py | 54 +-
.../mcp_service/chart/test_ascii_charts.py | 175 +
.../mcp_service/chart/test_chart_schemas.py | 16 +
.../mcp_service/chart/test_chart_utils.py | 46 +-
tests/unit_tests/mcp_service/chart/test_compile.py | 445 +
.../mcp_service/chart/tool/test_generate_chart.py | 55 +-
.../chart/tool/test_get_chart_preview.py | 188 +
.../mcp_service/chart/tool/test_get_chart_sql.py | 402 +
.../mcp_service/chart/tool/test_update_chart.py | 149 +
.../chart/tool/test_update_chart_preview.py | 397 +
.../validation/test_column_name_normalization.py | 13 +
.../dashboard/tool/test_dashboard_tools.py | 3 +-
.../mcp_service/dataset/tool/test_dataset_tools.py | 122 +-
.../explore/tool/test_generate_explore_link.py | 166 +
.../mcp_service/sql_lab/tool/test_execute_sql.py | 99 +
.../sql_lab/tool/test_open_sql_lab_with_context.py | 3 +-
.../mcp_service/test_auth_user_resolution.py | 44 +
tests/unit_tests/mcp_service/test_mcp_config.py | 28 +
tests/unit_tests/mcp_service/test_middleware.py | 17 +-
.../mcp_service/utils/test_token_utils.py | 64 +-
tests/unit_tests/models/core_test.py | 6 +-
tests/unit_tests/models/helpers_test.py | 348 +
.../unit_tests/pandas_postprocessing/test_pivot.py | 243 +
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/dialects/opensearch_tests.py | 81 +-
tests/unit_tests/sql/dialects/vertica_tests.py | 197 +
tests/unit_tests/sql/test_spark_dialect.py | 94 +
tests/unit_tests/sql/transpile_to_dialect_test.py | 124 +
tests/unit_tests/sql_lab_test.py | 40 +-
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 +
602 files changed, 54209 insertions(+), 23138 deletions(-)
delete mode 100644 docs/components/versions.json
delete mode 100644 docs/developer_docs/versions.json
delete mode 100644 docs/developer_portal_versions.json
create mode 100644 docs/docs/using-superset/handlebars-chart.mdx
delete mode 100644 docs/src/theme/DocVersionBanner/index.js
delete mode 100644 docs/src/theme/DocVersionBanner/styles.module.css
delete mode 100644 docs/tutorials_versions.json
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/playwright/generators/docs/screenshot-manifest.yaml
create mode 100644
superset-frontend/playwright/tests/dashboard/clear-all-filters.spec.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/htmlTextFilterValueGetter.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/htmlTextFilterValueGetter.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/memoization.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/test/Sunburst/transformProps.test.ts
delete mode 100644 superset-frontend/plugins/plugin-chart-handlebars/README.md
create mode 100644
superset-frontend/src/features/cssTemplates/CssTemplateModal.test.tsx
copy
superset-frontend/src/{components/ErrorMessage/DatasetNotFoundErrorMessage.test.tsx
=> features/datasets/AddDataset/DatasetPanel/DatasetPanelWrapper.test.tsx}
(53%)
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-frontend/{packages/superset-ui-core/src/components/Spin/index.tsx =>
src/types/emotion-jest.d.ts} (95%)
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
create mode 100644 superset/sql/dialects/vertica.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_ascii_charts.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/sql/dialects/vertica_tests.py
create mode 100644 tests/unit_tests/sql/test_spark_dialect.py
create mode 100644 tests/unit_tests/test_viz_get_df_payload.py