This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/superset-frontend/redux-5.0.1
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 4a95f83f2f chore(deps): bump redux from 4.2.1 to 5.0.1 in
/superset-frontend
add 2f4f64dfe8 chore(frontend): migrate easy JS/JSX files to TypeScript
(#36713)
add f51f7f3307 fix(tests): resolve flakey selectOption helper race
condition (#36719)
add f3407d7a56 chore: Close playwright browser gracefully (#36537)
add ee45b26ad7 fix(tests): optimize DatasourceEditorCurrency tests for CI
reliability (#36723)
add 0f56e3b9ae fix: Implement SIP-40 error styles for GAQ (#36596)
add 0830a57fa6 feat(docs): add llms.txt for LLM-friendly documentation
index (#36730)
add 2cf0d7936e chore(pre-commit): exclude logos from end-of-file-fixer
(#36744)
add 32435bc3e9 feat(docs): enhance Matomo analytics tracking (#36743)
add da8e077a44 chore(frontend): migrate utility JS files to TypeScript
(#36721)
add b8f31124d0 chore(frontend): migrate 13 JS/JSX files to TypeScript
(#36720)
add 91539f77aa feat(docker): support running multiple Superset instances
simultaneously (#36751)
add fb6f3fbb4d chore: update files for release 6.0.0 (#36745)
add 5920cb57ea refactor(extensions): add Pydantic validation for extension
configuration (#36767)
add d36ddbbb33 feat(extensions-cli): Add .gitignore generation to init
command (#36768)
add 3258082819 docs: add SQL Lab Export to Parquet to community extensions
registry (#36755)
add ae491aee00 docs: Add SQL Lab Query Comparison to community extensions
registry (#36769)
add c026ae2ce7 fix(dashboard): prevent table chart infinite reload loop
(#36686)
add e3e6b0e18b fix(mcp): use SQLScript for all SQL parsing in execute_sql
(#36599)
add 0ced20457b chore(deps-dev): bump webpack from 5.104.0 to 5.104.1 in
/docs (#36758)
add 5cd8e1e736 chore(deps): bump caniuse-lite from 1.0.30001760 to
1.0.30001761 in /docs (#36757)
add 8d070f5cb6 chore(deps-dev): bump @types/node from 25.0.2 to 25.0.3 in
/superset-frontend (#36726)
add e0ea807031 chore(deps-dev): bump baseline-browser-mapping from 2.9.8
to 2.9.9 in /superset-frontend (#36725)
add c0bcf28947 chore(deps-dev): bump @playwright/test from 1.56.0 to
1.57.0 in /superset-frontend (#36571)
add 6b25d0663e refactor: Migrates the MCP `execute_sql` tool to use the
SQL execution API (#36739)
add 32c98d02d3 fix: UI cut off (#36531)
add 54eb6317ef fix(margin): Fixing margin issues (#36479)
add ff24e2f27d fix: fix error with dashboard filters when global async
queries is enabled and user navigates quickly (#36639)
add ff3dab9b3b docs: Add Query Estimator to community extensions registry
(#36814)
add 8f8fe19e3e docs: Add SQL Snippets to community extensions registry
(#36797)
add 9e04c3471d docs: Add SQL Lab Result Stats to community extensions
registry (#36796)
add c399fd2801 fix: Stale editor content in @apache-superset/core (#36813)
add ba8d6eb9ac docs: Adds a new "Dependencies" page to the Developer
Portal (#36817)
add f8cb935105 feat(reports): add webhook option for notifications (#36127)
add ecb4e483df fix: apply `EXCLUDE_USERS_FROM_LISTS` to
`/api/v1/security/users/` (#36742)
add bd8d4ddbee chore(deps-dev): bump typescript-eslint from 8.50.0 to
8.50.1 in /superset-websocket (#36802)
add fd67d3190a chore(deps-dev): bump typescript-eslint from 8.50.0 to
8.50.1 in /docs (#36801)
add f95f125c4c chore(deps-dev): bump html-webpack-plugin from 5.6.4 to
5.6.5 in /superset-frontend (#36787)
add 100789200a chore(deps): bump hot-shots from 11.4.0 to 12.0.0 in
/superset-websocket (#36786)
add bf5070471d chore(deps): bump storybook from 8.6.14 to 8.6.15 in /docs
(#36727)
add 362b5e3b89 chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 in
/superset-frontend (#36711)
add 28c802fb6c fix(TableCollection): only apply highlight class when
defined (#36809)
add 1697cf733b chore(deps): bump antd from 6.1.1 to 6.1.2 in /docs (#36823)
add 02411ffde0 docs: Add EnquiryLabs to INTHEWILD.yaml (#36843)
add fe5d5fdae6 fix(chart-creation): use exact match when loading dataset
from URL parameter (#36831)
add e112d863bf fix(dashboard): resolve tab reorder state sync issues
(#36855)
add 7cd76e4647 fix: SqlLab error when collapsing the left panel preview
(#36858)
add d4ba44fce2 fix: Query history view button in SqlLab (#36540)
add 85e830de46 fix: Clear database form errors (#36854)
add c31224c891 fix(TableChart): render cell bars for columns with NULL
values (#36819)
add 12aa425049 fix(logout): clicking logout displays an error
notification "invalid username or password" (#36490)
add e5489bd30f fix(SavedQueries): unify query card actions styling across
all home page cards (#36671)
add 1b1be96274 chore(deps-dev): bump globals from 16.5.0 to 17.0.0 in
/docs (#36886)
add dd2eb6293d chore(deps-dev): bump globals from 16.5.0 to 17.0.0 in
/superset-websocket (#36885)
add 4451e8db05 chore(deps): bump qs from 6.14.0 to 6.14.1 in /docs (#36884)
add aed95453b3 chore(deps): bump qs from 6.14.0 to 6.14.1 in
/superset-websocket/utils/client-ws-app (#36883)
add d07a452e9b fix(RightMenu): fix inconsistent icon alignment in
RightMenu items (#36532)
add 52af489d8f docs: Add Rogow to INTHEWILD.yaml (#36879)
add 1334040fd6 chore(docs): Include VLMedia logo to intothewild (#36868)
add fdef8fa50a chore(deps-dev): bump @typescript-eslint/parser from 8.50.1
to 8.51.0 in /docs (#36866)
add 53fa65fe67 chore(deps): bump caniuse-lite from 1.0.30001761 to
1.0.30001762 in /docs (#36865)
add ac27c0aa3c chore(deps-dev): bump @typescript-eslint/parser from 8.50.1
to 8.51.0 in /superset-websocket (#36861)
add 2080633e57 other: resolve frontend dep vulns (#36820)
add 740ddc03e2 fix(plugin-chart-table): remove column misalignment when no
scrollbars are present (#36891)
add c76ddcbbec fix(deck.gl): Fix Scatterplot chart error when using fixed
point size (#36890)
add 61986100bd chore(deps): bump hot-shots from 12.0.0 to 12.1.0 in
/superset-websocket (#36899)
add dcc556a9a7 chore(CHANGELOG): add link to 6.0.0 CHANGELOG (#36832)
add 5909e90081 feat(security): add built-in Public role for anonymous
dashboard access (#36548)
add 12a266fd2f fix(trino): update query progress using cursor stats
(#36872)
add cedc35e39f fix(SQLLab): remove error icon displayed when writing Jinja
SQL even when the script is correct (#36422)
add f9fde87e85 feat(native filters): add filter type icons in config modal
(#36905)
add 1949d1bb96 feat(dev): add make ports and make open commands (#36906)
add aaa174f820 docs: add Netlify configuration for PR deploy previews
(#36908)
add 9aff89c1b4 chore(frontend): migrate SqlLab and explore JS/JSX files to
TypeScript (#36760)
add 9968393e4c feat(ci): add container security scan for image built for
commits merged to mainline (#36604)
add d7d94ba640 fix(ag-grid): Ag Grid Date Filter timezone correction
(#36270)
add 861e5cd013 fix(security): enforce datasource access control in
get_samples() (#36550)
add 5edaed2e5b fix(alerts): wrong alert trigger with custom query (#35871)
add 7a5441bc7a refactor: Remove unimplemented APIs from
@apache-superset/core (#36952)
add 0c1edd4568 chore: Bump @apache-superset/core (0.0.1-rc9) (#36953)
add dfdf8e75d8 fix: handle undefined template variables safely in query
rendering. (#35009)
add f9be2b816a feat(docs): add resources admonition with external links
(#36761)
add 64ee48f147 fix(mcp): use chart.query_context for get_chart_data like
the API does (#36937)
add 6f67b05375 chore: Update INTHEWILD.yaml for PlaidCloud (#36741)
add 03caa7b337 docs(INTHEWILD): add Cirrus Assessment (#36871)
add 84279acd2f feat(mcp): add unified get_schema tool for schema discovery
(#36458)
add a6d85dccf8 fix: streaming export losing g context (#36950)
add 16e046b5d9 docs(INTHEWILD): add HOLLYLAND猛玛 (#36968)
add 70b2e520b2 chore(frontend): Update $schema path in oxlint.json (#36859)
add 337eb3baf5 fix(dashboard): prevent PublishedLabel overlap in
non-English languages (#36877)
add 047360641a feat(mcp): change save_chart default to False for
preview-first workflow (#36935)
add 4249b8ee6a chore(deps-dev): bump
eslint-plugin-react-you-might-not-need-an-effect from 0.5.1 to 0.8.3 in
/superset-frontend (#36972)
add 3ac76e116d chore: Update INTHEWILD.yaml (#36733)
add e9b91f6ec9 chore(deps): bump ioredis from 5.8.2 to 5.9.0 in
/superset-websocket (#36920)
add 77ebc5ac10 chore(deps-dev): bump @typescript-eslint/parser from 8.51.0
to 8.52.0 in /docs (#36918)
add dd7f0c4224 chore(deps-dev): bump typescript-eslint from 8.50.1 to
8.52.0 in /superset-websocket (#36916)
add af185ad8c9 chore(deps-dev): bump jsdom from 27.0.0 to 27.4.0 in
/superset-frontend (#36922)
add 4fc8157d6f chore(deps-dev): bump source-map from 0.7.4 to 0.7.6 in
/superset-frontend (#36653)
add 75e6a16f1c chore(deps): bump redux from 4.2.1 to 5.0.1 in
/superset-frontend
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 (4a95f83f2f)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/superset-frontend/redux-5.0.1 (75e6a16f1c)
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:
.envrc.example | 41 +
.github/ISSUE_TEMPLATE/bug-report.yml | 2 +-
.github/workflows/docker.yml | 17 +
.pre-commit-config.yaml | 2 +-
.rat-excludes | 1 +
CHANGELOG.md | 1 +
CHANGELOG/6.0.0.md | 1062 ++++++++++++++++++++
Dockerfile | 2 +-
Makefile | 27 +-
RESOURCES/INTHEWILD.yaml | 35 +-
RESOURCES/STANDARD_ROLES.md | 379 +++----
UPDATING.md | 51 +-
docker-compose.yml | 26 +-
docker/.env | 9 +
docker/.env-local.example | 39 +
docker/README.md | 28 +
.../contributing/development-setup.md | 35 +
docs/developer_portal/extensions/architecture.md | 16 +-
.../extensions/contribution-types.md | 2 +-
docs/developer_portal/extensions/dependencies.md | 166 +++
docs/developer_portal/extensions/deployment.md | 2 +-
docs/developer_portal/extensions/development.md | 6 +-
docs/developer_portal/extensions/mcp.md | 2 +-
docs/developer_portal/extensions/overview.md | 1 +
docs/developer_portal/extensions/registry.md | 17 +-
docs/developer_portal/extensions/security.md | 2 +-
docs/developer_portal/sidebars.js | 1 +
docs/docs/api.mdx | 5 +
docs/docs/configuration/alerts-reports.mdx | 5 +
docs/docs/configuration/async-queries-celery.mdx | 4 +
docs/docs/configuration/cache.mdx | 5 +
docs/docs/configuration/configuring-superset.mdx | 4 +
docs/docs/configuration/databases.mdx | 128 ++-
docs/docs/configuration/networking-settings.mdx | 16 +-
docs/docs/configuration/sql-templating.mdx | 4 +
docs/docs/configuration/theming.mdx | 8 +
docs/docs/contributing/contributing.mdx | 4 +
docs/docs/contributing/development.mdx | 7 +-
docs/docs/installation/kubernetes.mdx | 5 +
docs/docs/quickstart.mdx | 6 +
docs/docs/security/securing_superset.mdx | 5 +
docs/docs/security/security.mdx | 100 +-
.../creating-your-first-dashboard.mdx | 23 +-
docs/docs/using-superset/exploring-data.mdx | 9 +
docs/docusaurus.config.ts | 12 +
docs/netlify.toml | 56 ++
docs/package.json | 14 +-
docs/sidebarTutorials.js | 1 +
docs/src/styles/custom.css | 39 +
docs/src/theme/Admonition/Types.js | 63 ++
docs/src/theme/Root.js | 238 ++++-
docs/static/img/extensions/parquet-export.png | Bin 0 -> 62473 bytes
docs/static/img/extensions/query-comparison.png | Bin 0 -> 611336 bytes
docs/static/img/extensions/query-estimator.png | Bin 0 -> 443733 bytes
docs/static/img/extensions/result-stats.png | Bin 0 -> 403058 bytes
docs/static/img/extensions/sql-snippets.png | Bin 0 -> 366481 bytes
docs/static/img/logos/cirrus.svg | Bin 0 -> 1809 bytes
.../logos/hollyland\347\214\233\347\216\233.svg" | Bin 0 -> 77086 bytes
docs/static/img/logos/plaidcloud.svg | Bin 0 -> 81228 bytes
docs/static/img/logos/vlmedia.svg | Bin 0 -> 10468 bytes
docs/static/llms.txt | 64 ++
docs/yarn.lock | 350 ++++---
pyproject.toml | 1 +
scripts/docker-compose-up.sh | 222 ++++
superset-core/src/superset_core/api/models.py | 12 +-
.../src/superset_core/extensions/types.py | 233 ++++-
.../src/superset_extensions_cli/cli.py | 62 +-
.../templates/.gitignore.j2 | 36 +
superset-extensions-cli/tests/test_cli_build.py | 43 +-
superset-extensions-cli/tests/test_cli_dev.py | 12 +-
superset-extensions-cli/tests/test_cli_init.py | 32 +-
superset-extensions-cli/tests/utils.py | 2 +-
superset-frontend/cypress-base/package-lock.json | 354 ++++++-
superset-frontend/cypress-base/package.json | 5 +
.../netlify.toml | 22 +-
superset-frontend/oxlint.json | 2 +-
superset-frontend/package-lock.json | 423 ++++----
superset-frontend/package.json | 18 +-
.../packages/superset-core/package.json | 7 +-
.../packages/superset-core/src/api/environment.ts | 153 ---
.../packages/superset-core/src/api/index.ts | 2 -
.../packages/superset-core/src/api/sqlLab.ts | 109 --
.../packages/superset-ui-core/package.json | 2 +-
.../src/components/Icons/AntdEnhanced.tsx | 2 +
.../src/components/ListViewCard/index.tsx | 4 +-
.../TableCollection/TableCollection.test.tsx | 83 ++
.../src/components/TableCollection/index.tsx | 4 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 5 +-
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../playwright/tests/experimental/README.md | 7 +
.../src/layers/Scatter/Scatter.tsx | 18 +-
.../src/layers/Scatter/buildQuery.test.ts | 312 ++++++
.../src/layers/Scatter/buildQuery.ts | 26 +-
.../src/layers/Scatter/transformProps.test.ts | 303 ++++++
.../src/layers/Scatter/transformProps.ts | 19 +-
.../src/layers/transformUtils.test.ts | 184 ++++
.../src/layers/transformUtils.ts | 12 +-
.../src/layers/utils/metricUtils.test.ts | 121 +++
.../src/layers/utils/metricUtils.ts | 120 +++
.../src/utils/dateFilterComparator.ts | 58 +-
.../src/utils/useColDefs.ts | 21 +-
.../test/utils/dateFilterComparator.test.ts | 124 +++
.../src/DataTable/hooks/useSticky.tsx | 2 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 3 +-
.../plugin-chart-table/test/TableChart.test.tsx | 72 ++
superset-frontend/spec/helpers/shim.tsx | 6 +
superset-frontend/spec/helpers/testing-library.tsx | 3 +-
.../src/SqlLab/actions/sqlLab.test.js | 195 +++-
.../src/SqlLab/actions/{sqlLab.js => sqlLab.ts} | 822 +++++++++++----
.../AceEditorWrapper/useKeywords.test.ts | 6 +-
.../components/AceEditorWrapper/useKeywords.ts | 6 +-
.../SqlLab/components/QueryAutoRefresh/index.tsx | 2 +-
.../components/QueryTable/QueryTable.test.tsx | 97 +-
.../src/SqlLab/components/QueryTable/index.tsx | 110 +-
.../src/SqlLab/components/QueryTable/styles.ts | 7 +
.../src/SqlLab/components/ResultSet/index.tsx | 50 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 6 +-
.../src/SqlLab/components/SouthPane/index.tsx | 4 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 9 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 5 +-
.../src/SqlLab/components/TableElement/index.tsx | 2 +-
.../middlewares/persistSqlLabStateEnhancer.js | 136 ---
.../middlewares/persistSqlLabStateEnhancer.ts | 185 ++++
.../src/SqlLab/reducers/{sqlLab.js => sqlLab.ts} | 333 +++---
.../{ChartContainer.jsx => ChartContainer.tsx} | 6 +-
.../src/components/Chart/chartAction.js | 14 +-
.../src/components/Chart/chartActions.test.js | 22 +
.../tests/DatasourceEditorCurrency.test.tsx | 124 +--
.../{mockMessageToasts.js => mockMessageToasts.ts} | 6 +-
superset-frontend/src/core/authentication/index.ts | 6 +-
superset-frontend/src/core/commands/index.ts | 10 +-
superset-frontend/src/core/environment/index.ts | 57 --
superset-frontend/src/core/extensions/index.ts | 11 +-
superset-frontend/src/core/index.ts | 1 -
superset-frontend/src/core/sqlLab/index.ts | 139 ++-
.../src/dashboard/components/Dashboard.test.jsx | 69 ++
.../{MissingChart.jsx => MissingChart.tsx} | 11 +-
.../dnd/{handleHover.js => handleHover.ts} | 13 +-
.../dashboard/components/dnd/handleScroll/index.ts | 2 +-
.../{FilterFieldItem.jsx => FilterFieldItem.tsx} | 16 +-
.../{FilterFieldTree.jsx => FilterFieldTree.tsx} | 47 +-
.../{FilterScopeTree.jsx => FilterScopeTree.tsx} | 45 +-
...reeNodes.jsx => renderFilterFieldTreeNodes.tsx} | 29 +-
...reeNodes.jsx => renderFilterScopeTreeNodes.tsx} | 36 +-
.../filterscope/{treeIcons.jsx => treeIcons.tsx} | 0
.../gridComponents/Chart/{index.js => index.ts} | 0
.../gridComponents/Column/{index.js => index.ts} | 0
.../gridComponents/Divider/{index.js => index.ts} | 0
.../gridComponents/Markdown/{index.js => index.ts} | 0
.../gridComponents/Tab/{index.js => index.ts} | 0
.../components/gridComponents/Tabs/Tabs.jsx | 2 +-
.../gridComponents/Tabs/{index.js => index.ts} | 0
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 30 +-
.../gridComponents/{index.js => index.ts} | 0
.../new/{NewColumn.jsx => NewColumn.tsx} | 0
.../new/{NewDivider.jsx => NewDivider.tsx} | 0
.../new/{NewHeader.jsx => NewHeader.tsx} | 0
.../new/{NewMarkdown.jsx => NewMarkdown.tsx} | 0
.../new/{NewTabs.jsx => NewTabs.tsx} | 0
.../FiltersConfigModal/FilterTitleContainer.tsx | 17 +
.../FiltersConfigForm/FiltersConfigForm.tsx | 4 +-
.../{DashboardGrid.jsx => DashboardGrid.tsx} | 7 +-
.../{FilterScope.jsx => FilterScope.tsx} | 7 +-
.../containers/{SliceAdder.jsx => SliceAdder.tsx} | 17 +-
.../util/activeAllDashboardFilters.test.ts | 150 +++
.../dashboard/util/activeAllDashboardFilters.ts | 17 +-
...h.js => getChartAndLabelComponentIdFromPath.ts} | 12 +-
...ieldNodesTree.js => getFilterFieldNodesTree.ts} | 25 +-
...ParentNodes.js => getFilterScopeParentNodes.ts} | 21 +-
....js => getSelectedChartIdForFilterScopeTree.ts} | 7 +-
...ChildChartIds.js => findNonTabChildChartIds.ts} | 26 +-
...ComponentIds.js => findTopLevelComponentIds.ts} | 33 +-
...nent.js => getLoadStatsPerTopLevelComponent.ts} | 21 +-
...terValues.js => serializeActiveFilterValues.ts} | 38 +-
...arentsList.js => updateComponentParentsList.ts} | 14 +-
.../src/explore/components/ControlHeader.tsx | 8 +
.../components/ExploreViewContainer/index.jsx | 4 +
.../AnnotationLayer.test.tsx | 39 +-
.../{AnnotationLayer.jsx => AnnotationLayer.tsx} | 417 +++++---
.../{AnnotationTypes.js => AnnotationTypes.ts} | 40 +-
...undsControl.test.jsx => BoundsControl.test.tsx} | 0
.../{CheckboxControl.jsx => CheckboxControl.tsx} | 52 +-
.../CollectionControl/{index.jsx => index.tsx} | 90 +-
.../DatasourceControl/DatasourceControl.test.tsx | 110 +-
.../DatasourceControl/{index.jsx => index.tsx} | 157 ++-
.../DndColumnMetricSelect.tsx | 15 +-
...erTitle.jsx => DndColumnSelectPopoverTitle.tsx} | 11 +-
.../DndFilterSelect.test.tsx | 14 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 23 +-
.../{AdhocFilter.test.js => AdhocFilter.test.ts} | 0
.../AdhocFilter/{index.js => index.ts} | 110 +-
.../AdhocFilterControl/AdhocFilterControl.test.tsx | 49 +-
.../AdhocFilterControl/{index.jsx => index.tsx} | 160 ++-
...er.test.jsx => AdhocFilterEditPopover.test.tsx} | 24 +-
.../{index.jsx => index.tsx} | 159 ++-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 133 ++-
.../index.tsx | 88 +-
.../FilterControl/AdhocFilterOption/index.tsx | 25 +-
.../AdhocFilterPopoverTrigger/index.tsx | 2 +-
.../utils/useDatePickerInAdhocFilter.tsx | 6 +-
.../FilterControl/utils/useGetTimeRangeLabel.tsx | 31 +-
.../FixedOrMetricControl/{index.jsx => index.tsx} | 88 +-
.../{AdhocMetric.test.js => AdhocMetric.test.ts} | 4 +-
.../{AdhocMetric.js => AdhocMetric.ts} | 102 +-
.../{index.jsx => index.tsx} | 162 ++-
...cOption.test.jsx => AdhocMetricOption.test.tsx} | 27 +-
...AdhocMetricOption.jsx => AdhocMetricOption.tsx} | 46 +-
.../MetricControl/AdhocMetricPopoverTrigger.tsx | 20 +-
.../{AggregateOption.jsx => AggregateOption.tsx} | 20 +-
...on.test.jsx => FilterDefinitionOption.test.tsx} | 6 +-
...nitionOption.jsx => FilterDefinitionOption.tsx} | 21 +-
...nitionOption.jsx => MetricDefinitionOption.tsx} | 39 +-
...lue.test.jsx => MetricDefinitionValue.test.tsx} | 26 +-
...finitionValue.jsx => MetricDefinitionValue.tsx} | 31 +-
...icsControl.test.jsx => MetricsControl.test.tsx} | 17 +-
.../{MetricsControl.jsx => MetricsControl.tsx} | 93 +-
.../{adhocMetricType.js => adhocMetricType.ts} | 0
.../components/controls/MetricControl/types.ts | 2 +
.../components/controls/OptionControls/index.tsx | 4 +-
...lectControl.test.jsx => SelectControl.test.tsx} | 34 +-
.../{SelectControl.jsx => SelectControl.tsx} | 152 ++-
.../{SpatialControl.jsx => SpatialControl.tsx} | 123 ++-
...eaControl.test.jsx => TextAreaControl.test.tsx} | 0
.../{TextAreaControl.jsx => TextAreaControl.tsx} | 104 +-
.../components/controls/TextControl/index.tsx | 4 +
.../{index.jsx => index.tsx} | 109 +-
...rtControl.test.jsx => ViewportControl.test.tsx} | 0
.../{ViewportControl.jsx => ViewportControl.tsx} | 82 +-
.../components/controls/VizTypeControl/VizTile.tsx | 2 +-
.../components/controls/XAxisSortControl.tsx | 16 +-
.../explore/controlUtils/standardizedFormData.ts | 24 +-
.../src/explore/{controls.jsx => controls.tsx} | 79 +-
.../{saveModalReducer.js => saveModalReducer.ts} | 29 +-
.../src/explore/{store.test.jsx => store.test.tsx} | 5 +-
.../src/explore/{store.js => store.ts} | 62 +-
.../src/extensions/ExtensionsStartup.test.tsx | 1 -
.../src/extensions/ExtensionsStartup.tsx | 11 +-
.../src/features/alerts/AlertReportModal.tsx | 1 +
.../alerts/components/NotificationMethod.tsx | 137 +--
.../features/alerts/components/RecipientIcon.tsx | 6 +
superset-frontend/src/features/alerts/types.ts | 2 +
.../databases/DatabaseModal/ExtraOptions.tsx | 14 +-
.../databases/DatabaseModal/index.test.tsx | 81 ++
.../src/features/databases/DatabaseModal/index.tsx | 58 +-
.../datasets/AddDataset/Footer/Footer.test.tsx | 1 +
.../features/datasets/AddDataset/Footer/index.tsx | 10 +-
.../src/features/home/RightMenu.test.tsx | 7 +-
superset-frontend/src/features/home/RightMenu.tsx | 21 +-
.../src/features/home/SavedQueries.tsx | 43 +-
superset-frontend/src/features/reports/types.ts | 2 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 227 +++++
.../src/pages/ChartCreation/index.tsx | 39 +-
.../src/utils/getControlsForVizType.js | 52 -
superset-frontend/src/utils/reducerUtils.js | 71 --
superset-websocket/package-lock.json | 419 ++++----
superset-websocket/package.json | 10 +-
.../utils/client-ws-app/package-lock.json | 12 +-
superset/commands/database/validate_sql.py | 44 +
superset/commands/report/alert.py | 66 +-
superset/commands/report/execute.py | 18 +-
superset/commands/streaming_export/base.py | 55 +-
superset/config.py | 3 +
superset/db_engine_specs/trino.py | 61 +-
superset/extensions/discovery.py | 3 +-
superset/extensions/utils.py | 55 +-
superset/initialization/__init__.py | 4 +-
superset/jinja_context.py | 19 +-
superset/mcp_service/CLAUDE.md | 6 +-
superset/mcp_service/app.py | 13 +-
superset/mcp_service/chart/schemas.py | 76 +-
superset/mcp_service/chart/tool/__init__.py | 2 -
superset/mcp_service/chart/tool/generate_chart.py | 6 +-
.../chart/tool/get_chart_available_filters.py | 50 -
superset/mcp_service/chart/tool/get_chart_data.py | 95 +-
superset/mcp_service/chart/tool/list_charts.py | 42 +-
superset/mcp_service/common/schema_discovery.py | 422 ++++++++
superset/mcp_service/dashboard/schemas.py | 56 +-
superset/mcp_service/dashboard/tool/__init__.py | 2 -
.../tool/get_dashboard_available_filters.py | 49 -
.../mcp_service/dashboard/tool/list_dashboards.py | 68 +-
superset/mcp_service/dataset/schemas.py | 61 +-
superset/mcp_service/dataset/tool/__init__.py | 2 -
.../dataset/tool/get_dataset_available_filters.py | 49 -
superset/mcp_service/dataset/tool/list_datasets.py | 43 +-
.../mcp_service/docs/tool-search-optimization.md | 2 +-
superset/mcp_service/mcp_core.py | 120 ++-
superset/mcp_service/sql_lab/execute_sql_core.py | 221 ----
superset/mcp_service/sql_lab/schemas.py | 42 +-
superset/mcp_service/sql_lab/sql_lab_utils.py | 243 -----
superset/mcp_service/sql_lab/tool/execute_sql.py | 136 ++-
superset/mcp_service/system/resources/__init__.py | 5 +-
.../system/resources/schema_discovery.py | 196 ++++
superset/mcp_service/system/tool/__init__.py | 2 +
superset/mcp_service/system/tool/get_schema.py | 161 +++
superset/mcp_service/utils/schema_utils.py | 21 +-
superset/reports/models.py | 1 +
superset/reports/notifications/__init__.py | 1 +
superset/reports/notifications/webhook.py | 144 +++
superset/security/manager.py | 124 ++-
superset/sqllab/query_render.py | 23 +-
superset/tasks/async_queries.py | 19 +-
superset/utils/webdriver.py | 2 +
superset/views/base.py | 2 +
superset/views/datasource/utils.py | 6 +
superset/views/utils.py | 2 +-
tests/integration_tests/databases/api_tests.py | 109 ++
tests/integration_tests/fixtures/__init__.py | 1 +
tests/integration_tests/fixtures/public_role.py | 18 +
tests/integration_tests/reports/alert_tests.py | 8 +-
tests/integration_tests/security_tests.py | 99 ++
.../commands/databases/validate_sql_test.py | 279 +++++
tests/unit_tests/commands/report/alert_test.py | 496 +++++++++
tests/unit_tests/db_engine_specs/test_trino.py | 309 +++++-
tests/unit_tests/extensions/test_types.py | 258 +++++
tests/unit_tests/jinja_context_test.py | 54 +
.../mcp_service/chart/tool/test_generate_chart.py | 21 +-
.../mcp_service/chart/tool/test_get_chart_data.py | 99 ++
.../mcp_service/chart/tool/test_list_charts.py | 48 +-
.../dashboard/tool/test_dashboard_tools.py | 135 ++-
.../mcp_service/dataset/tool/test_dataset_tools.py | 133 ++-
.../mcp_service/sql_lab/tool/test_execute_sql.py | 490 +++++----
.../mcp_service/system/tool/test_get_schema.py | 368 +++++++
.../mcp_service/system/tool/test_mcp_core.py | 152 ++-
.../reports/notifications/webhook_tests.py | 225 +++++
.../security/exclude_users_filter_test.py | 165 +++
tests/unit_tests/tasks/test_async_queries.py | 96 ++
.../unit_tests/views/datasource}/__init__.py | 0
tests/unit_tests/views/datasource/utils_test.py | 217 ++++
328 files changed, 15876 insertions(+), 4768 deletions(-)
create mode 100644 .envrc.example
create mode 100644 CHANGELOG/6.0.0.md
create mode 100644 docker/.env-local.example
create mode 100644 docs/developer_portal/extensions/dependencies.md
create mode 100644 docs/netlify.toml
create mode 100644 docs/src/theme/Admonition/Types.js
create mode 100644 docs/static/img/extensions/parquet-export.png
create mode 100644 docs/static/img/extensions/query-comparison.png
create mode 100644 docs/static/img/extensions/query-estimator.png
create mode 100644 docs/static/img/extensions/result-stats.png
create mode 100644 docs/static/img/extensions/sql-snippets.png
create mode 100644 docs/static/img/logos/cirrus.svg
create mode 100644
"docs/static/img/logos/hollyland\347\214\233\347\216\233.svg"
create mode 100644 docs/static/img/logos/plaidcloud.svg
create mode 100644 docs/static/img/logos/vlmedia.svg
create mode 100644 docs/static/llms.txt
create mode 100755 scripts/docker-compose-up.sh
create mode 100644
superset-extensions-cli/src/superset_extensions_cli/templates/.gitignore.j2
copy superset/charts/data/query_context_cache_loader.py =>
superset-frontend/netlify.toml (61%)
delete mode 100644
superset-frontend/packages/superset-core/src/api/environment.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/buildQuery.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/transformProps.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/transformUtils.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/utils/metricUtils.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/utils/metricUtils.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/dateFilterComparator.test.ts
rename superset-frontend/src/SqlLab/actions/{sqlLab.js => sqlLab.ts} (59%)
delete mode 100644
superset-frontend/src/SqlLab/middlewares/persistSqlLabStateEnhancer.js
create mode 100644
superset-frontend/src/SqlLab/middlewares/persistSqlLabStateEnhancer.ts
rename superset-frontend/src/SqlLab/reducers/{sqlLab.js => sqlLab.ts} (67%)
rename superset-frontend/src/components/Chart/{ChartContainer.jsx =>
ChartContainer.tsx} (89%)
rename superset-frontend/src/components/MessageToasts/{mockMessageToasts.js =>
mockMessageToasts.ts} (85%)
delete mode 100644 superset-frontend/src/core/environment/index.ts
rename superset-frontend/src/dashboard/components/{MissingChart.jsx =>
MissingChart.tsx} (86%)
rename superset-frontend/src/dashboard/components/dnd/{handleHover.js =>
handleHover.ts} (84%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterFieldItem.jsx =>
FilterFieldItem.tsx} (81%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterFieldTree.jsx =>
FilterFieldTree.tsx} (54%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterScopeTree.jsx =>
FilterScopeTree.tsx} (58%)
rename
superset-frontend/src/dashboard/components/filterscope/{renderFilterFieldTreeNodes.jsx
=> renderFilterFieldTreeNodes.tsx} (63%)
rename
superset-frontend/src/dashboard/components/filterscope/{renderFilterScopeTreeNodes.jsx
=> renderFilterScopeTreeNodes.tsx} (71%)
rename superset-frontend/src/dashboard/components/filterscope/{treeIcons.jsx
=> treeIcons.tsx} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/Chart/{index.js =>
index.ts} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/Column/{index.js =>
index.ts} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/Divider/{index.js =>
index.ts} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/Markdown/{index.js =>
index.ts} (100%)
rename superset-frontend/src/dashboard/components/gridComponents/Tab/{index.js
=> index.ts} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/Tabs/{index.js =>
index.ts} (100%)
rename superset-frontend/src/dashboard/components/gridComponents/{index.js =>
index.ts} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewColumn.jsx =>
NewColumn.tsx} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewDivider.jsx
=> NewDivider.tsx} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewHeader.jsx =>
NewHeader.tsx} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewMarkdown.jsx
=> NewMarkdown.tsx} (100%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewTabs.jsx =>
NewTabs.tsx} (100%)
rename superset-frontend/src/dashboard/containers/{DashboardGrid.jsx =>
DashboardGrid.tsx} (86%)
rename superset-frontend/src/dashboard/containers/{FilterScope.jsx =>
FilterScope.tsx} (85%)
rename superset-frontend/src/dashboard/containers/{SliceAdder.jsx =>
SliceAdder.tsx} (82%)
rename
superset-frontend/src/dashboard/util/{getChartAndLabelComponentIdFromPath.js =>
getChartAndLabelComponentIdFromPath.ts} (77%)
rename superset-frontend/src/dashboard/util/{getFilterFieldNodesTree.js =>
getFilterFieldNodesTree.ts} (72%)
rename superset-frontend/src/dashboard/util/{getFilterScopeParentNodes.js =>
getFilterScopeParentNodes.ts} (70%)
rename
superset-frontend/src/dashboard/util/{getSelectedChartIdForFilterScopeTree.js
=> getSelectedChartIdForFilterScopeTree.ts} (91%)
rename
superset-frontend/src/dashboard/util/logging/{findNonTabChildChartIds.js =>
findNonTabChildChartIds.ts} (75%)
rename
superset-frontend/src/dashboard/util/logging/{findTopLevelComponentIds.js =>
findTopLevelComponentIds.ts} (77%)
rename
superset-frontend/src/dashboard/util/logging/{getLoadStatsPerTopLevelComponent.js
=> getLoadStatsPerTopLevelComponent.ts} (71%)
rename superset-frontend/src/dashboard/util/{serializeActiveFilterValues.js =>
serializeActiveFilterValues.ts} (59%)
rename superset-frontend/src/dashboard/util/{updateComponentParentsList.js =>
updateComponentParentsList.ts} (87%)
rename
superset-frontend/src/explore/components/controls/AnnotationLayerControl/{AnnotationLayer.jsx
=> AnnotationLayer.tsx} (74%)
rename
superset-frontend/src/explore/components/controls/AnnotationLayerControl/{AnnotationTypes.js
=> AnnotationTypes.ts} (69%)
rename
superset-frontend/src/explore/components/controls/{BoundsControl.test.jsx =>
BoundsControl.test.tsx} (100%)
rename superset-frontend/src/explore/components/controls/{CheckboxControl.jsx
=> CheckboxControl.tsx} (68%)
rename
superset-frontend/src/explore/components/controls/CollectionControl/{index.jsx
=> index.tsx} (67%)
rename
superset-frontend/src/explore/components/controls/DatasourceControl/{index.jsx
=> index.tsx} (80%)
rename
superset-frontend/src/explore/components/controls/DndColumnSelectControl/{DndColumnSelectPopoverTitle.jsx
=> DndColumnSelectPopoverTitle.tsx} (91%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/{AdhocFilter.test.js
=> AdhocFilter.test.ts} (100%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/{index.js
=> index.ts} (56%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterControl/{index.jsx
=> index.tsx} (70%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopover/{AdhocFilterEditPopover.test.jsx
=> AdhocFilterEditPopover.test.tsx} (89%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopover/{index.jsx
=> index.tsx} (74%)
rename
superset-frontend/src/explore/components/controls/FixedOrMetricControl/{index.jsx
=> index.tsx} (69%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetric.test.js
=> AdhocMetric.test.ts} (98%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetric.js
=> AdhocMetric.ts} (62%)
rename
superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/{index.jsx
=> index.tsx} (79%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetricOption.test.jsx
=> AdhocMetricOption.test.tsx} (90%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetricOption.jsx
=> AdhocMetricOption.tsx} (63%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AggregateOption.jsx
=> AggregateOption.tsx} (74%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{FilterDefinitionOption.test.jsx
=> FilterDefinitionOption.test.tsx} (94%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{FilterDefinitionOption.jsx
=> FilterDefinitionOption.tsx} (81%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{MetricDefinitionOption.jsx
=> MetricDefinitionOption.tsx} (66%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{MetricDefinitionValue.test.jsx
=> MetricDefinitionValue.test.tsx} (83%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{MetricDefinitionValue.jsx
=> MetricDefinitionValue.tsx} (67%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{MetricsControl.test.jsx
=> MetricsControl.test.tsx} (92%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{MetricsControl.jsx
=> MetricsControl.tsx} (76%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{adhocMetricType.js
=> adhocMetricType.ts} (100%)
rename
superset-frontend/src/explore/components/controls/{SelectControl.test.jsx =>
SelectControl.test.tsx} (94%)
rename superset-frontend/src/explore/components/controls/{SelectControl.jsx =>
SelectControl.tsx} (65%)
rename superset-frontend/src/explore/components/controls/{SpatialControl.jsx
=> SpatialControl.tsx} (72%)
rename
superset-frontend/src/explore/components/controls/{TextAreaControl.test.jsx =>
TextAreaControl.test.tsx} (100%)
rename superset-frontend/src/explore/components/controls/{TextAreaControl.jsx
=> TextAreaControl.tsx} (69%)
rename
superset-frontend/src/explore/components/controls/TimeSeriesColumnControl/{index.jsx
=> index.tsx} (81%)
rename
superset-frontend/src/explore/components/controls/{ViewportControl.test.jsx =>
ViewportControl.test.tsx} (100%)
rename superset-frontend/src/explore/components/controls/{ViewportControl.jsx
=> ViewportControl.tsx} (62%)
rename superset-frontend/src/explore/{controls.jsx => controls.tsx} (87%)
rename superset-frontend/src/explore/reducers/{saveModalReducer.js =>
saveModalReducer.ts} (71%)
rename superset-frontend/src/explore/{store.test.jsx => store.test.tsx} (95%)
rename superset-frontend/src/explore/{store.js => store.ts} (61%)
delete mode 100644 superset-frontend/src/utils/getControlsForVizType.js
delete mode 100644 superset-frontend/src/utils/reducerUtils.js
delete mode 100644
superset/mcp_service/chart/tool/get_chart_available_filters.py
create mode 100644 superset/mcp_service/common/schema_discovery.py
delete mode 100644
superset/mcp_service/dashboard/tool/get_dashboard_available_filters.py
delete mode 100644
superset/mcp_service/dataset/tool/get_dataset_available_filters.py
delete mode 100644 superset/mcp_service/sql_lab/execute_sql_core.py
delete mode 100644 superset/mcp_service/sql_lab/sql_lab_utils.py
create mode 100644 superset/mcp_service/system/resources/schema_discovery.py
create mode 100644 superset/mcp_service/system/tool/get_schema.py
create mode 100644 superset/reports/notifications/webhook.py
create mode 100644 tests/unit_tests/commands/databases/validate_sql_test.py
create mode 100644 tests/unit_tests/commands/report/alert_test.py
create mode 100644 tests/unit_tests/extensions/test_types.py
create mode 100644
tests/unit_tests/mcp_service/chart/tool/test_get_chart_data.py
create mode 100644 tests/unit_tests/mcp_service/system/tool/test_get_schema.py
create mode 100644 tests/unit_tests/reports/notifications/webhook_tests.py
create mode 100644 tests/unit_tests/security/exclude_users_filter_test.py
copy {superset-core/src/superset_core/api =>
tests/unit_tests/views/datasource}/__init__.py (100%)
create mode 100644 tests/unit_tests/views/datasource/utils_test.py