This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch feat/enable-merge-queue
in repository https://gitbox.apache.org/repos/asf/superset.git
omit 75dc83d9a7b Merge branch 'master' into feat/enable-merge-queue
omit 58d9f5e5ec4 docs(ci): note the ruleset/classic required-checks lists
must stay in sync
omit 9fb499cfdc4 feat(ci): enable GitHub merge queue for master
add 21b937b59d7 fix(retention): skip models without purge policies before
scanning (#44874)
add 6d97cde59a6 fix(semantic-layers): export/import semantic-view charts
by typed reference (#44396)
add b94f88ffbb4 fix(semantic-layer): require explicit member identity
reselection (#44370)
add 9c7c96fe057 fix(logging): register LogRestApi only once (#44732)
add edc91b86e5c chore(deps-dev): bump baseline-browser-mapping from
2.11.25 to 2.11.26 in /superset-frontend (#44890)
add 338e640df93 chore(deps): bump dompurify from 3.4.15 to 3.4.16 in
/superset-frontend (#44889)
add 4a199486599 chore(deps): bump dom-to-image-more from 3.10.2 to 3.11.0
in /superset-frontend (#44888)
add 6559b483f28 chore(deps): bump maplibre-gl from 6.8.0 to 6.11.2 in
/superset-frontend (#44887)
add dfccc2e1e9c chore(deps-dev): bump minimizer-webpack-plugin from 5.11.0
to 5.12.0 in /superset-frontend (#44886)
add c43770e12da chore(deps-dev): bump webpack-sources from 3.5.1 to 3.5.3
in /superset-frontend (#44885)
add 95faf3a6a04 chore(deps-dev): bump oxlint-tsgolint from 7.0.2002 to
7.0.2003 in /docs (#44883)
add 27c9213cca2 chore(deps-dev): bump oxlint-tsgolint from 7.0.2002 to
7.0.2003 in /superset-websocket (#44882)
add 25956d6c448 chore(superset-ui-chart-controls): forward-compat fixes
for TypeScript 6.0 (#44877)
add ba3500e0e9a feat(export/import): add annotation layer export/import
support for charts and dashboards (#43232)
add 1b0a37cf223 fix(users): stop update_me setting self-referential
changed_by_fk (#44866)
add 7bb29649416 chore(deps): bump dawidd6/action-download-artifact from 24
to 25 (#44884)
add 005edd74234 chore(build): de-vendor `helm/chart-testing-action` GHA
(#44722)
add 10d06859b83 fix(ci): floor pyfakefs at 5.7.4 to fix Python 3.13
pytest-cov crash (#44853)
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 c4d3919c972 feat(ci): enable GitHub merge queue for master
add 01876589f7f docs(ci): note the ruleset/classic required-checks lists
must stay in sync
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 (75dc83d9a7b)
\
N -- N -- N refs/heads/feat/enable-merge-queue (01876589f7f)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/actions/change-detector/action.yml | 5 +
.github/actions/chart-testing-action | 1 -
.github/workflows/superset-docs-deploy.yml | 4 +-
.github/workflows/superset-docs-verify.yml | 2 +-
.github/workflows/superset-helm-lint-test.yml | 19 +-
.gitmodules | 3 -
UPDATING.md | 68 +
.../importing-exporting-datasources.mdx | 32 +
docs/docs/using-superset/recently-archived.mdx | 10 +
.../using-superset/semantic-member-selections.mdx | 62 +
docs/package.json | 2 +-
docs/src/data/databases.json | 19 +
docs/static/resources/openapi.json | 23 +-
docs/yarn.lock | 78 +-
pyproject.toml | 12 +-
requirements/development.txt | 2 +-
scripts/change_detector.py | 60 +
.../src/superset_core/semantic_layers/types.py | 1 +
.../src/superset_core/semantic_layers/view.py | 14 +
superset-frontend/package-lock.json | 87 +-
superset-frontend/package.json | 8 +-
.../src/sections/sections.tsx | 7 +
.../superset-ui-chart-controls/src/types.ts | 1 +
.../src/utils/getColorFormatters.ts | 84 +-
.../superset-ui-core/src/query/extractExtras.ts | 22 +
.../packages/superset-ui-core/src/query/index.ts | 2 +
.../src/query/semanticSelection.ts} | 35 +-
.../superset-ui-core/src/query/types/Dashboard.ts | 1 +
.../superset-ui-core/src/query/types/Query.ts | 1 +
.../src/query/types/QueryFormData.ts | 12 +-
.../test/query/extractExtras.test.ts | 62 +
.../src/BigNumber/BigNumberViz.test.tsx | 57 +
.../BigNumberWithTrendline/transformProps.test.ts | 72 +
.../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 +
.../test/Timeseries/EchartsTimeseries.test.tsx | 13 +-
.../test/Timeseries/transformProps.test.ts | 31 +
.../test/Timeseries/transformers.test.ts | 17 +
.../plugin-chart-point-cluster-map/package.json | 2 +-
.../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 +
.../plugins/preset-chart-deckgl/package.json | 2 +-
.../src/components/Chart/ChartRenderer.test.tsx | 52 +-
.../src/components/Chart/ChartRenderer.tsx | 23 +-
.../components/RefreshIntervalModal.test.tsx | 37 +
.../dashboard/components/RefreshIntervalModal.tsx | 2 +-
.../FilterBar/FilterControls/FilterValue.test.tsx | 42 +-
.../FilterBar/FilterControls/FilterValue.tsx | 70 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 147 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 103 +-
.../transformers/buildTarget.test.ts | 44 +-
.../FiltersConfigModal/transformers/buildTarget.ts | 37 +-
.../transformers/customizationTransformer.ts | 10 +-
.../transformers/filterTransformer.ts | 10 +-
.../nativeFilters/FiltersConfigModal/types.ts | 2 +
.../components/nativeFilters/utils.test.ts | 27 +
.../dashboard/components/nativeFilters/utils.ts | 13 +
.../util/charts/getFormDataWithExtraFilters.ts | 163 ++-
.../util/getFormDataWithExtraFilters.test.ts | 412 +++++-
superset-frontend/src/dataMask/reducer.test.ts | 58 +
superset-frontend/src/dataMask/reducer.ts | 18 +
.../src/explore/actions/exploreActions.ts | 10 +
.../components/ControlPanelsContainer.test.tsx | 265 +++-
.../explore/components/ControlPanelsContainer.tsx | 44 +-
.../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 +
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 17 +
.../index.tsx | 27 +-
.../MatrixifyControl/utils/fetchTopNValues.test.ts | 165 +++
.../controls/MatrixifyDimensionControl.test.tsx | 139 +-
.../controls/MatrixifyDimensionControl.tsx | 26 +-
.../AdhocMetricPopoverTrigger.test.tsx | 278 ++++
.../src/explore/controlPanels/sections.tsx | 7 +
.../controlUtils/getSectionsToRender.test.ts | 179 +++
.../explore/reducers/datasourcesReducer.test.ts | 171 +++
.../src/explore/reducers/exploreReducer.test.ts | 269 +++-
.../src/explore/reducers/exploreReducer.ts | 29 +-
.../src/explore/reducers/saveModalReducer.test.ts | 184 +++
.../src/utils/semanticViewStructure.test.ts | 13 +
.../src/utils/semanticViewStructure.ts | 15 +-
superset-websocket/package-lock.json | 56 +-
superset-websocket/package.json | 2 +-
superset/annotation_layers/schemas.py | 21 +
superset/charts/api.py | 3 +
superset/charts/schemas.py | 21 +-
superset/commands/annotation_layer/exceptions.py | 5 +
superset/commands/annotation_layer/export.py | 109 ++
.../annotation_layer/importers}/__init__.py | 0
.../importers/dispatcher.py | 20 +-
.../annotation_layer/importers/v1/__init__.py | 54 +
.../annotation_layer/importers/v1/utils.py | 73 +
superset/commands/chart/export.py | 251 +++-
superset/commands/chart/importers/v1/__init__.py | 99 +-
superset/commands/chart/importers/v1/utils.py | 381 ++++-
superset/commands/dashboard/export.py | 8 +-
superset/commands/dashboard/export_example.py | 31 +
.../commands/dashboard/importers/v1/__init__.py | 89 +-
superset/commands/export/assets.py | 10 +-
superset/commands/importers/v1/__init__.py | 10 +-
superset/commands/importers/v1/assets.py | 74 +-
superset/commands/importers/v1/examples.py | 19 +
superset/commands/importers/v1/utils.py | 4 +-
superset/common/query_context_processor.py | 14 +-
superset/common/query_object.py | 37 +-
superset/common/tabular_query.py | 8 +-
superset/dashboards/api.py | 13 +-
superset/datasource/api.py | 52 +-
superset/datasource/schemas.py | 9 +
superset/db_engine_specs/postgres.py | 34 +
superset/initialization/__init__.py | 1 -
superset/mcp_service/app.py | 2 +
.../chart/prompts/create_chart_guided.py | 4 +-
superset/mcp_service/semantic_layer/schemas.py | 9 +
.../semantic_layer/tool/get_compatible_metrics.py | 3 +
.../mcp_service/semantic_layer/tool/get_table.py | 51 +-
.../semantic_layer/tool/list_metrics.py | 3 +
superset/mcp_service/system/prompts/quickstart.py | 4 +-
superset/mcp_service/system/tool/get_schema.py | 7 +-
superset/mcp_service/system/tool/health_check.py | 5 +-
superset/migrations/shared/utils.py | 2 +-
..._add_uuid_to_annotation_layer_and_annotation.py | 144 ++
superset/models/annotations.py | 19 +-
superset/security/manager.py | 7 +
superset/semantic_layers/api.py | 3 +
.../semantic_layers/bundle_schemas.py | 24 +-
superset/semantic_layers/import_export.py | 240 ++++
superset/semantic_layers/mapper.py | 6 +
superset/semantic_layers/models.py | 3 +
superset/superset_typing.py | 2 +
superset/tasks/deletion_retention.py | 55 +-
superset/translations/messages.pot | 68 +
superset/utils/core.py | 36 +
superset/utils/dict_import_export.py | 7 +
superset/views/users/api.py | 1 -
.../annotation_layers/commands_tests.py | 750 ++++++++++
tests/integration_tests/charts/commands_tests.py | 1515 ++++++++++++++++++++
tests/integration_tests/commands_test.py | 58 +
.../integration_tests/dashboards/commands_tests.py | 585 ++++++++
tests/integration_tests/fixtures/importexport.py | 104 ++
.../charts/commands/importers/v1/import_test.py | 32 +-
.../charts/commands/importers/v1/utils_test.py | 28 +-
.../commands/chart/semantic_export_test.py | 127 ++
.../dashboard/export_example_semantic_test.py | 175 +++
tests/unit_tests/commands/export_test.py | 51 +
.../commands/importers/v1/assets_test.py | 4 +-
.../common/test_query_context_processor.py | 33 +
tests/unit_tests/initialization/init_views_test.py | 113 ++
.../tool/test_get_compatible_metrics.py | 14 +-
.../semantic_layer/tool/test_get_table.py | 39 +
.../semantic_layer/tool/test_list_metrics.py | 10 +-
.../unit_tests/mcp_service/test_mcp_docstrings.py | 128 ++
.../unit_tests/mcp_service/test_tool_inventory.py | 4 +-
tests/unit_tests/scripts/change_detector_test.py | 78 +
.../test_superset_user_api_subject_sync.py | 23 +
tests/unit_tests/semantic_layers/api_test.py | 10 +-
.../semantic_layers/import_export_test.py | 921 ++++++++++++
tests/unit_tests/semantic_layers/mapper_test.py | 5 +
tests/unit_tests/semantic_layers/models_test.py | 2 +
.../semantic_layers/selection_identity_test.py | 293 ++++
.../semantic_layers/values_endpoint_test.py | 21 +-
tests/unit_tests/tasks/test_deletion_retention.py | 171 ++-
tests/unit_tests/views/test_current_user_api.py | 23 +
170 files changed, 12086 insertions(+), 512 deletions(-)
delete mode 160000 .github/actions/chart-testing-action
create mode 100644 docs/docs/using-superset/semantic-member-selections.mdx
copy superset-frontend/{src/views/ScrollToTop.tsx =>
packages/superset-ui-core/src/query/semanticSelection.ts} (50%)
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 superset/commands/annotation_layer/export.py
copy {scripts => superset/commands/annotation_layer/importers}/__init__.py
(100%)
copy superset/commands/{chart => annotation_layer}/importers/dispatcher.py
(82%)
create mode 100644 superset/commands/annotation_layer/importers/v1/__init__.py
create mode 100644 superset/commands/annotation_layer/importers/v1/utils.py
create mode 100644
superset/migrations/versions/2026-08-17_18-38_884a2115ebd3_add_uuid_to_annotation_layer_and_annotation.py
copy tests/unit_tests/utils/db.py =>
superset/semantic_layers/bundle_schemas.py (56%)
create mode 100644 superset/semantic_layers/import_export.py
create mode 100644 tests/integration_tests/annotation_layers/commands_tests.py
create mode 100644 tests/unit_tests/commands/chart/semantic_export_test.py
create mode 100644
tests/unit_tests/commands/dashboard/export_example_semantic_test.py
create mode 100644 tests/unit_tests/initialization/init_views_test.py
create mode 100644 tests/unit_tests/mcp_service/test_mcp_docstrings.py
create mode 100644 tests/unit_tests/semantic_layers/import_export_test.py
create mode 100644 tests/unit_tests/semantic_layers/selection_identity_test.py