This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a change to branch feat/migrate-to-typescript-v6
in repository https://gitbox.apache.org/repos/asf/superset.git
from 8a10fea33af fix(build): export missing types/interfaces + exclude
build artifacts from typecheck
add 0fdfd6660e0 docs(databases): add ClickHouse Managed Postgres (#44870)
add e0483898728 test(explore): cover time range frames, comparison labels,
and metric popover state (#44847)
add c1bb129c218 fix(change-detector): classify changed files by language,
not directory (#44895)
add e606cadff7c chore(mcp): fix malformed tool and prompt docstrings
(#44572)
add ef64bacbaa0 feat(chart): cross-filter by x-axis label on charts with
dimensions (#44869)
add b0ac9ef61f6 test(explore): cover color scheme selection, BigNumber
subheader/trendline, and WorldMap bubbles (#44846)
add 8d25777b995 test(plugin-chart-table): cover server-side sort, query
mode controls, and sort ordering (#44845)
add 8849542bda1 test(explore): cover viz switch and control dependency
logic (#44842)
add 03b61cc2d89 test(explore): add fetchTopNValues unit tests (#44841)
add e32493c9d93 test(explore): add saveModalReducer unit tests (#44839)
add f6155b9e9ea fix(dashboard): show the configured refresh warning
alongside the limit error (#44836)
add 240a4267f85 test(explore): add datasourcesReducer unit tests (#44840)
add bc3698b5d64 test(explore): port remaining deleted Cypress explore
specs to RTL (#44838)
add 2872d16ee65 test(frontend): await the userEvent calls that needed
restructuring (#44799)
add 7fea33761b8 fix(chart): wrap raw pandas TypeError/DataError from
post-processing as QueryObjectValidationError (#44463)
add 3f7d01aaafc fix(reports): catch TypeError when validating non-string
extra.dashboard.anchor (#44404)
add ece8b8bd7b2 fix(import): avoid UnboundLocalError when load_yaml fails
during load_configs (SC-121288) (#44390)
add 47ba8fc8014 fix(api): return 401 not 500 for auth errors in
CurrentUserRestApi (SC-120417) (#44213)
add ef2c05c0900 fix(security): guard is_guest_user against
NoAuthorizationError on unauthenticated error paths (#43826)
add f9d67e1a118 fix: downgrade deprecated query_object field warnings to
info (#43520)
add 396030d87e0 docs: remove stale Selenium references after
Playwright-only switch (#44243)
add 3fa06db85b6 fix(mcp): include feature_availability in
instance://metadata resource (#44891)
add 52d8b405c99 fix(echarts): recognize Date and ISO-string temporal
x-axis values in getXAxisDomain (#44818)
add 15bde2a3016 fix(native-filters): keep cascade dependency gate in sync
with live filter type (#44366)
add 11bdbc91f37 feat(ci): add Chromatic visual regression testing for
Storybook (#44103)
add 8d026b4a568 fix(mcp): skip dashboard live updates when websockets are
disabled or realtime access is missing (#44796)
add 7260916b905 test(dashboard): cover "View as table" end-to-end for a
view-as-table-only role (#44881)
add 646de3a46b5 test(clickhouse): cover GROUP BY ALL against a real
instance (#40482) (#44879)
add ba453d3cb43 fix(sec): sanitize HTML text before shown as impact item's
label (#43825)
add 2220f53d9db fix(chart): accept quarter and day in end-of time ranges
(#43204)
add 62ab4cae23d fix(sql-lab): avoid duplicate generated result column
names (#44189)
add 743a27f7ed3 fix(chart): sort Heatmap Y-axis by default when unset
(#44588)
add 87bb752814a fix(select): remove Space wrapper from optionRender to fix
option label truncation (#44357)
add d6689283942 fix(sql-lab): use function valueGetter for GridTable row
numbers (#41574)
add 10356c30edb fix(mcp): stop partial-update tools from advertising null
defaults (#44573)
add 6966c1f6ccb fix(cartodiagram): share Pie colors across locations in
Explore (#44794)
add 81466987cbb fix(mcp): use create_proxy in simple_proxy for fastmcp 4
compatibility (#44787)
add ea79c63e878 fix(post-processing): stop treating gaps as zero for
cumprod, cummin and cummax (#44828)
add f1ae8909d85 fix(import): remove duplicate config redefinition in
load_configs (#44932)
add afa98f3391a perf(deletion-retention): one window pass for repeat
predicate (#44349)
add 3a9becd5cba chore(deps): bump markdown from 3.10.3 to 3.11 (#44941)
add a65fe06c513 chore(deps-dev): update google-cloud-storage requirement
from >=3.14.1 to >=3.15.0 (#44940)
add 3960407334b chore(deps): bump cachetools from 7.1.8 to 7.2.0 (#44939)
add dbd3e28aa3e chore(deps-dev): update databricks-sql-connector
requirement from <4.6.0,>=4.5.0 to >=4.6.0,<4.7.0 (#44937)
add 8ba26679671 chore(deps): bump holidays from 0.104 to 0.105 (#44936)
add 291d098917b chore(deps): bump sqlglot from 30.18.0 to 30.19.0 (#44935)
add 98be2d17dad chore(deps-dev): bump clickhouse-connect from 1.8.0 to
1.9.0 (#44934)
add 549508b340b fix(mcp): preserve calling constraints in compact tool
discovery (#44656)
add f2ff458acde feat: Add GUI for label_colors in Dashboard Properties
Modal (#39434)
add 3fccf299469 test(opensearch): cover pagination and Content-Type
regression against a real instance (#44924)
add acdd390b354 fix(frontend): finish migrating off direct antd imports,
enforce it in custom rules (#44927)
add e72d63b20d8 test(mysql): cover require_mysql_tls fail-closed and
verified-TLS paths (#44910)
add e3bdb3894c0 test(oracle): cover cancel-query against a real running
statement (#44908)
add 5d158e7e795 test(cratedb): cover epoch-ms timestamp decoding against a
real instance (#44904)
add cdafffeacf5 fix(deps): restore dompurify 3.4.16 in frontend lockfile
(#44960)
add 83c6eb4ff00 Merge branch 'master' into feat/migrate-to-typescript-v6
No new revisions were added by this update.
Summary of changes:
.github/actions/change-detector/action.yml | 5 +
.github/workflows/chromatic.yml | 134 +++++
.github/workflows/testcontainers.yml | 1 +
docs/admin_docs/configuration/alerts-reports.mdx | 57 +-
docs/admin_docs/configuration/cache.mdx | 37 +-
.../configuration/dashboard-performance.mdx | 4 +-
docs/admin_docs/configuration/mcp-server.mdx | 34 +-
.../contributing/development-setup.md | 4 +-
docs/developer_docs/contributing/howtos.md | 11 +
docs/developer_docs/testing/backend-testing.md | 3 +-
docs/src/data/databases.json | 19 +
pyproject.toml | 14 +-
requirements/base.txt | 8 +-
requirements/development.txt | 10 +-
scripts/change_detector.py | 60 ++
superset-frontend/package-lock.json | 7 +-
superset-frontend/package.json | 2 +-
.../src/chart/models/ChartProps.ts | 10 +
.../src/components/Select/AsyncSelect.test.tsx | 8 +
.../src/components/Select/AsyncSelect.tsx | 3 +-
.../src/components/Select/Select.test.tsx | 9 +
.../src/components/Select/Select.tsx | 3 +-
.../superset-ui-core/src/components/Tag/index.tsx | 1 +
.../test/chart/models/ChartProps.test.ts | 22 +-
.../src/util/transformPropsUtil.ts | 8 +
.../test/util/pieColors.test.ts | 203 +++++++
.../src/BigNumber/BigNumberViz.test.tsx | 57 ++
.../BigNumberWithTrendline/transformProps.test.ts | 72 +++
.../src/Heatmap/controlPanel.tsx | 12 +-
.../src/Heatmap/transformProps.ts | 17 +-
.../plugin-chart-echarts/src/Heatmap/types.ts | 6 +
.../plugin-chart-echarts/src/Pie/transformProps.ts | 4 +-
.../src/Timeseries/EchartsTimeseries.test.tsx | 116 +++-
.../src/Timeseries/EchartsTimeseries.tsx | 29 +-
.../src/Timeseries/transformProps.ts | 7 +-
.../src/Timeseries/transformers.ts | 6 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 4 +
.../plugin-chart-echarts/src/utils/formatters.ts | 40 +-
.../plugin-chart-echarts/src/utils/series.ts | 28 +-
.../test/Heatmap/transformProps.test.ts | 67 ++-
.../test/Timeseries/EchartsTimeseries.test.tsx | 13 +-
.../test/Timeseries/transformProps.test.ts | 31 +
.../test/Timeseries/transformers.test.ts | 17 +
.../test/utils/formatters.test.ts | 118 ++++
.../plugin-chart-echarts/test/utils/series.test.ts | 96 ++-
.../plugin-chart-table/test/TableChart.test.tsx | 88 +++
.../plugin-chart-table/test/buildQuery.test.ts | 42 ++
.../plugin-chart-table/test/controlPanel.test.ts | 55 ++
.../plugin-chart-world-map/test/WorldMap.test.ts | 14 +
superset-frontend/scripts/check-custom-rules.js | 42 ++
.../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx | 28 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 2 +-
.../components/Chart/MenuItemWithTruncation.tsx | 5 +-
.../Datasource/ChangeDatasourceModal/index.tsx | 2 +-
.../src/components/GridTable/index.tsx | 10 +-
.../RowCountLabel/RowCountLabel.test.tsx | 16 +-
superset-frontend/src/components/Tag/index.tsx | 8 +-
.../dashboard/components/PropertiesModal/index.tsx | 2 +
.../PropertiesModal/sections/AdvancedSection.tsx | 60 +-
.../sections/LabelColorMapping.test.tsx | 111 ++++
.../PropertiesModal/sections/LabelColorMapping.tsx | 494 ++++++++++++++++
.../sections/StylingSection.test.tsx | 141 ++---
.../PropertiesModal/sections/StylingSection.tsx | 11 +
.../components/RefreshIntervalModal.test.tsx | 37 ++
.../dashboard/components/RefreshIntervalModal.tsx | 2 +-
.../ViewAsTableRendering.test.tsx | 309 ++++++++++
.../FiltersConfigForm/FiltersConfigForm.tsx | 16 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 42 +-
.../hooks/useFilterOperations.test.ts | 62 ++
.../hooks/useFilterOperations.ts | 10 +-
.../components/ControlPanelsContainer.test.tsx | 203 ++++++-
.../controls/AnnotationLayerControl/index.test.tsx | 84 ++-
.../components/controls/ColorPickerControl.tsx | 2 +-
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 76 +++
.../controls/ComparisonRangeLabel.test.tsx | 252 ++++++++
.../DateFilterControl/tests/CommonFrame.test.tsx | 72 +++
.../tests/DateFilterLabel.test.tsx | 193 ++++++
.../DateFilterControl/tests/DateLabel.test.tsx | 73 +++
.../DndMetricSelect.test.tsx | 90 +++
.../AdhocFilterControl/AdhocFilterControl.test.tsx | 102 +++-
.../AdhocFilterEditPopover.test.tsx | 55 +-
.../MatrixifyControl/utils/fetchTopNValues.test.ts | 165 ++++++
.../AdhocMetricPopoverTrigger.test.tsx | 278 +++++++++
.../components/controls/SelectControl.test.tsx | 55 ++
.../controlUtils/getSectionsToRender.test.ts | 179 ++++++
.../explore/reducers/datasourcesReducer.test.ts | 171 ++++++
.../src/explore/reducers/exploreReducer.test.ts | 205 ++++++-
.../src/explore/reducers/saveModalReducer.test.ts | 184 ++++++
.../datasets/AddDataset/Footer/Footer.test.tsx | 5 +-
.../ArchivedList/ArchivedDatasetPurgeModal.tsx | 3 +-
superset-frontend/src/pages/Home/Home.test.tsx | 2 +-
superset-frontend/src/utils/urlUtils.ts | 17 +
.../TimeTable/components/LeftCell/LeftCell.tsx | 18 +-
.../commands/deletion_retention/prune_audit.py | 76 ++-
superset/commands/importers/v1/utils.py | 3 +
superset/commands/report/base.py | 10 +-
superset/common/query_object.py | 12 +-
superset/db_engine_specs/postgres.py | 34 ++
.../chart/prompts/create_chart_guided.py | 4 +-
superset/mcp_service/chart/schemas.py | 37 +-
superset/mcp_service/chart/tool/generate_chart.py | 18 +-
superset/mcp_service/chart/tool/get_chart_info.py | 16 +-
superset/mcp_service/chart/tool/list_charts.py | 14 +-
superset/mcp_service/chart/tool/update_chart.py | 16 +-
.../mcp_service/chart/tool/update_chart_preview.py | 18 +-
superset/mcp_service/dashboard/schemas.py | 66 ++-
.../dashboard/tool/apply_dashboard_filters.py | 8 +
.../dashboard/tool/generate_dashboard.py | 18 +-
.../dashboard/tool/get_dashboard_info.py | 21 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 18 +-
superset/mcp_service/dataset/schemas.py | 45 +-
.../dataset/tool/create_virtual_dataset.py | 16 +-
superset/mcp_service/dataset/tool/list_datasets.py | 18 +-
superset/mcp_service/mcp_config.py | 5 +-
superset/mcp_service/server.py | 112 +++-
superset/mcp_service/simple_proxy.py | 6 +-
superset/mcp_service/system/prompts/quickstart.py | 4 +-
.../system/resources/instance_metadata.py | 37 +-
superset/mcp_service/system/system_utils.py | 33 +-
.../mcp_service/system/tool/get_instance_info.py | 38 +-
superset/mcp_service/system/tool/get_schema.py | 7 +-
superset/mcp_service/system/tool/health_check.py | 5 +-
superset/mcp_service/utils/schema_utils.py | 27 +-
superset/models/helpers.py | 2 +
superset/result_set.py | 7 +
superset/security/manager.py | 18 +-
superset/translations/ar/LC_MESSAGES/messages.po | 97 ++-
superset/translations/ca/LC_MESSAGES/messages.po | 97 ++-
superset/translations/cs/LC_MESSAGES/messages.po | 97 ++-
superset/translations/de/LC_MESSAGES/messages.po | 97 ++-
superset/translations/en/LC_MESSAGES/messages.po | 97 ++-
superset/translations/es/LC_MESSAGES/messages.po | 97 ++-
superset/translations/fa/LC_MESSAGES/messages.po | 97 ++-
superset/translations/fi/LC_MESSAGES/messages.po | 97 ++-
superset/translations/fr/LC_MESSAGES/messages.po | 97 ++-
superset/translations/it/LC_MESSAGES/messages.po | 97 ++-
superset/translations/ja/LC_MESSAGES/messages.po | 97 ++-
superset/translations/ko/LC_MESSAGES/messages.po | 97 ++-
superset/translations/lv/LC_MESSAGES/messages.po | 97 ++-
superset/translations/messages.pot | 62 +-
superset/translations/mi/LC_MESSAGES/messages.po | 97 ++-
superset/translations/nl/LC_MESSAGES/messages.po | 97 ++-
superset/translations/pl/LC_MESSAGES/messages.po | 97 ++-
superset/translations/pt/LC_MESSAGES/messages.po | 97 ++-
.../translations/pt_BR/LC_MESSAGES/messages.po | 97 ++-
superset/translations/ro/LC_MESSAGES/messages.po | 97 ++-
superset/translations/ru/LC_MESSAGES/messages.po | 97 ++-
superset/translations/sk/LC_MESSAGES/messages.po | 97 ++-
superset/translations/sl/LC_MESSAGES/messages.po | 97 ++-
superset/translations/sr/LC_MESSAGES/messages.po | 97 ++-
.../translations/sr_Latn/LC_MESSAGES/messages.po | 97 ++-
superset/translations/ta/LC_MESSAGES/messages.po | 97 ++-
superset/translations/th/LC_MESSAGES/messages.po | 97 ++-
superset/translations/tr/LC_MESSAGES/messages.po | 97 ++-
superset/translations/uk/LC_MESSAGES/messages.po | 97 ++-
superset/translations/zh/LC_MESSAGES/messages.po | 97 ++-
.../translations/zh_TW/LC_MESSAGES/messages.po | 97 ++-
superset/utils/date_parser.py | 25 +-
superset/utils/pandas_postprocessing/cum.py | 7 +-
superset/views/users/api.py | 21 +-
.../deletion_retention/prune_audit_tests.py | 88 +++
.../db_engine_specs/test_clickhouse.py | 43 ++
tests/testcontainers/db_engine_specs/test_crate.py | 44 ++
tests/testcontainers/db_engine_specs/test_mysql.py | 166 +++++-
.../db_engine_specs/test_opensearch.py | 155 +++++
.../testcontainers/db_engine_specs/test_oracle.py | 107 ++++
.../deletion_retention/test_prune_audit.py | 33 +-
.../unit_tests/commands/importers/v1/utils_test.py | 34 ++
tests/unit_tests/commands/report/create_test.py | 36 ++
.../dashboard/tool/test_apply_dashboard_filters.py | 54 +-
.../system/resources/test_instance_metadata.py | 144 +++++
.../system/tool/test_get_current_user.py | 6 +-
.../unit_tests/mcp_service/test_mcp_docstrings.py | 128 ++++
.../mcp_service/test_mcp_tool_registration.py | 106 ++++
.../test_tool_description_constraints.py | 655 +++++++++++++++++++++
.../unit_tests/mcp_service/test_tool_inventory.py | 2 +-
.../mcp_service/test_tool_search_transform.py | 82 ++-
tests/unit_tests/models/helpers_test.py | 51 ++
tests/unit_tests/pandas_postprocessing/test_cum.py | 35 ++
tests/unit_tests/result_set_test.py | 42 +-
tests/unit_tests/scripts/change_detector_test.py | 77 +++
tests/unit_tests/security/manager_test.py | 27 +
tests/unit_tests/test_mcp_simple_proxy.py | 45 ++
tests/unit_tests/utils/date_parser_tests.py | 64 ++
.../views/test_current_user_auth_errors.py | 122 ++++
185 files changed, 11038 insertions(+), 612 deletions(-)
create mode 100644 .github/workflows/chromatic.yml
create mode 100644
superset-frontend/plugins/plugin-chart-cartodiagram/test/util/pieColors.test.ts
create mode 100644
superset-frontend/src/dashboard/components/PropertiesModal/sections/LabelColorMapping.test.tsx
create mode 100644
superset-frontend/src/dashboard/components/PropertiesModal/sections/LabelColorMapping.tsx
create mode 100644
superset-frontend/src/dashboard/components/SliceHeaderControls/ViewAsTableRendering.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/ComparisonRangeLabel.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/DateFilterControl/tests/CommonFrame.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/DateFilterControl/tests/DateLabel.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/MatrixifyControl/utils/fetchTopNValues.test.ts
create mode 100644
superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricPopoverTrigger.test.tsx
create mode 100644
superset-frontend/src/explore/controlUtils/getSectionsToRender.test.ts
create mode 100644
superset-frontend/src/explore/reducers/datasourcesReducer.test.ts
create mode 100644
superset-frontend/src/explore/reducers/saveModalReducer.test.ts
create mode 100644 tests/testcontainers/db_engine_specs/test_opensearch.py
create mode 100644
tests/unit_tests/mcp_service/system/resources/test_instance_metadata.py
create mode 100644 tests/unit_tests/mcp_service/test_mcp_docstrings.py
create mode 100644
tests/unit_tests/mcp_service/test_tool_description_constraints.py
create mode 100644 tests/unit_tests/test_mcp_simple_proxy.py
create mode 100644 tests/unit_tests/views/test_current_user_auth_errors.py