This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch
dependabot/npm_and_yarn/docs/caniuse-lite-1.0.30001777
in repository https://gitbox.apache.org/repos/asf/superset.git
from 028c83d170e chore(deps): bump caniuse-lite in /docs
add 3609cd9544d feat(mcp): add compile check to validate chart queries
before returning (#38408)
add 84a53eab31c feat(mcp): add pie, pivot table, and mixed timeseries
chart creation support (#38375)
add db7665c0bc4 feat(mcp): add user roles to MCP response and
permission-aware instructions (#38367)
add 5c4bf0f6ea6 fix(deps): bump Python dependencies to fix 7 security
vulnerabilities (#38447)
add 296bd7e56b5 docs(extensions): fix extension developer documentation
and CLI scaffolding (#38472)
add 03ad1789f02 feat(alerts/reports): external URL warning (#35021)
add 5fb9e17721d refactor(extensions): align editors API naming with
commands/views, add description to all contribution types (#38475)
add a6c0d6321f6 chore(extensions): simplify backend package structure by
removing superset_extensions namespace (#38476)
add 3cb00bf116d feat(database): add Google Cloud Datastore db engine spec
(#37677)
add 60577bcd979 chore(deps-dev): bump webpack from 5.105.3 to 5.105.4 in
/docs (#38380)
add d9a91f99dbb feat: support for import/export masked_encrypted_extra
(frontend) (#38078)
add 9983e255f82 fix(charts): revert: improve negative stacked bar label
positioning and accessibility (#37405) (#38484)
add c7a1f57487c fix(sqla): parenthesize extras where/having clauses in
query generation (#38183)
add 577654cd02e fix(heatmap): correct tooltip display to show axis values
instead of indices (#38487)
add e70c7944b75 fix(tests): achieve 100% TypeScript coverage for core
packages (#38518)
add 62cebc8a0e6 fix(dashboard): prevent Apply button from disabling when
required filters are auto-applied (#38479)
add dca41f9a7b8 fix(theme): prevent background color flash on page load
(#38399)
add bf55f1e4388 chore(extensions): bump superset-core and
superset-extensions-cli to 0.1.0rc1 (#38516)
add bc99b710bda fix(dashboard): ensure clear all respects required filter
validation (#37681)
add 9017b9a74f2 chore: enable allow_update_branch in .asf.yaml (#38530)
add 61fbfda501e feat(security): add granular export controls (Phase 1)
(#38361)
add 8e3e57c1c82 fix(docs): swizzle MethodEndpoint to fix SSG crash on all
API pages (#38533)
add 4cd3ce164de fix(mcp): make fastmcp truly optional during Superset
startup (#38534)
add 6ef4794778b fix(mcp): resolve chatbot tool call flakiness with URL and
instruction fixes (#38532)
add a17f38a4e23 fix(embedded): add CurrentUserRestApi read permission to
Public role defaults (#38474)
add 0143ce46f90 Merge branch 'master' into
dependabot/npm_and_yarn/docs/caniuse-lite-1.0.30001777
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 4 +-
docs/admin_docs/configuration/alerts-reports.mdx | 14 +
docs/developer_docs/extensions/architecture.md | 63 +-
.../extensions/contribution-types.md | 105 +-
docs/developer_docs/extensions/development.md | 36 +-
.../extensions/extension-points/editors.md | 49 +-
.../extensions/extension-points/sqllab.md | 173 +--
docs/developer_docs/extensions/quick-start.md | 115 +-
docs/developer_docs/extensions/registry.md | 14 +-
docs/package.json | 2 +-
docs/scripts/generate-superset-components.mjs | 8 +-
docs/src/components/StorybookWrapper.jsx | 4 +-
.../src/theme/ApiExplorer/MethodEndpoint/index.tsx | 120 ++
docs/src/theme/Playground/Preview/index.tsx | 2 +-
docs/src/theme/ReactLiveScope/index.tsx | 2 +-
docs/src/types/apache-superset-core/index.d.ts | 2 +-
docs/src/webpack.extend.ts | 4 +-
docs/static/feature-flags.json | 6 +
docs/static/img/databases/datastore.png | Bin 0 -> 5248 bytes
.../{sql-snippets.png => editor-snippets.png} | Bin
docs/tsconfig.json | 4 +-
docs/yarn.lock | 74 +-
requirements/base.in | 4 +-
requirements/base.txt | 12 +-
requirements/development.txt | 18 +-
superset-core/README.md | 98 +-
superset-core/pyproject.toml | 2 +-
superset-embedded-sdk/src/index.ts | 1 +
superset-extensions-cli/README.md | 73 +-
superset-extensions-cli/pyproject.toml | 2 +-
.../src/superset_extensions_cli/cli.py | 29 +-
.../templates/backend/src/package/__init__.py.j2 | 0
.../src/superset_extensions_cli/types.py | 4 +-
.../src/superset_extensions_cli/utils.py | 2 +-
superset-extensions-cli/tests/conftest.py | 9 +-
superset-extensions-cli/tests/test_cli_build.py | 109 +-
superset-extensions-cli/tests/test_cli_bundle.py | 5 +-
.../tests/test_name_transformations.py | 11 +-
superset-extensions-cli/tests/test_templates.py | 16 +-
superset-frontend/package-lock.json | 2 +-
superset-frontend/packages/superset-core/README.md | 148 +--
.../packages/superset-core/package.json | 2 +-
.../packages/superset-core/src/commands/index.ts | 2 +-
.../packages/superset-core/src/editors/index.ts | 26 +-
.../packages/superset-core/src/menus/index.ts | 2 +
.../src/theme/utils/themeUtils.test.ts | 30 +
.../superset-core/src/theme/utils/utils.test.ts | 22 +
.../src/translation/Translator.test.ts | 132 +++
.../superset-core/src/translation/Translator.ts | 1 +
.../src/translation/TranslatorSingleton.test.ts | 112 ++
.../packages/superset-core/src/utils/logging.ts | 1 +
.../packages/superset-core/src/views/index.ts | 2 +
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 115 +-
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../superset-ui-core/test/query/getAxis.test.ts | 50 +-
.../src/Heatmap/transformProps.ts | 24 +-
.../src/Timeseries/transformers.ts | 43 +-
.../test/Timeseries/transformers.test.ts | 97 +-
.../components/ImportModal/ImportModal.test.tsx | 44 +
.../src/components/ImportModal/index.tsx | 51 +-
.../src/components/ImportModal/types.ts | 9 +-
superset-frontend/src/core/editors/EditorHost.tsx | 2 +-
.../src/core/editors/EditorProviders.test.ts | 5 +-
.../src/core/editors/EditorProviders.ts | 17 +-
superset-frontend/src/core/editors/index.ts | 33 +-
.../nativeFilters/ConfigModal/SharedStyles.tsx | 19 +-
.../FilterBar/ActionButtons/index.tsx | 124 ++-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 1141 ++++++++++---------
.../components/nativeFilters/FilterBar/index.tsx | 100 +-
.../nativeFilters/FilterBar/utils.test.ts | 1145 +++++++++++++-------
.../components/nativeFilters/FilterBar/utils.ts | 137 ++-
.../FiltersConfigForm/FiltersConfigForm.tsx | 5 +
.../src/explore/actions/hydrateExplore.ts | 13 +-
.../src/explore/reducers/exploreReducer.ts | 2 +
superset-frontend/src/explore/types.ts | 2 +
.../DatabaseConnectionForm/EncryptedField.tsx | 1 +
.../src/features/databases/DatabaseModal/index.tsx | 83 +-
.../src/hooks/usePermissions.test.tsx | 128 +++
superset-frontend/src/hooks/usePermissions.ts | 18 +-
.../src/pages/RedirectWarning/index.tsx | 175 +++
.../src/pages/RedirectWarning/utils.test.ts | 124 +++
.../src/pages/RedirectWarning/utils.ts | 96 ++
superset-frontend/src/views/CRUD/hooks.ts | 26 +-
superset-frontend/src/views/CRUD/types.ts | 10 +
superset-frontend/src/views/CRUD/utils.test.tsx | 154 +++
superset-frontend/src/views/CRUD/utils.tsx | 43 +-
superset-frontend/src/views/routes.tsx | 11 +
superset/charts/data/api.py | 13 +-
superset/commands/database/validate.py | 2 +-
superset/config.py | 6 +
superset/core/mcp/core_mcp_injection.py | 25 +-
superset/db_engine_specs/datastore.py | 610 +++++++++++
superset/extensions/utils.py | 2 +-
superset/initialization/__init__.py | 2 +
superset/mcp_service/app.py | 34 +
superset/mcp_service/chart/chart_utils.py | 289 ++++-
superset/mcp_service/chart/schemas.py | 188 +++-
superset/mcp_service/chart/tool/generate_chart.py | 194 ++++
.../chart/validation/schema_validator.py | 169 ++-
.../sql_lab/tool/open_sql_lab_with_context.py | 3 +-
superset/mcp_service/system/schemas.py | 7 +
.../mcp_service/system/tool/get_instance_info.py | 11 +
...1b2c3d4e5f6_add_granular_export_permissions.py} | 43 +-
superset/models/helpers.py | 8 +-
superset/reports/notifications/email.py | 5 +
superset/security/manager.py | 12 +
superset/sql/parse.py | 1 +
superset/templates/superset/spa.html | 32 +-
superset/utils/link_redirect.py | 149 +++
superset/views/base.py | 5 +
superset/views/core.py | 7 +-
superset/views/redirect.py | 76 ++
.../db_engine_specs/datastore_tests.py | 521 +++++++++
tests/integration_tests/security_tests.py | 3 +
.../integration_tests/views/test_redirect_view.py | 66 ++
tests/unit_tests/db_engine_specs/test_datastore.py | 985 +++++++++++++++++
tests/unit_tests/extensions/test_types.py | 19 +-
.../mcp_service/chart/test_new_chart_types.py | 929 ++++++++++++++++
.../mcp_service/chart/tool/test_generate_chart.py | 74 ++
.../system/tool/test_get_current_user.py | 5 +
tests/unit_tests/models/helpers_test.py | 113 ++
.../security/test_granular_export_permissions.py | 110 ++
tests/unit_tests/utils/test_link_redirect.py | 143 +++
123 files changed, 8593 insertions(+), 1994 deletions(-)
create mode 100644 docs/src/theme/ApiExplorer/MethodEndpoint/index.tsx
create mode 100644 docs/static/img/databases/datastore.png
rename docs/static/img/extensions/{sql-snippets.png => editor-snippets.png}
(100%)
delete mode 100644
superset-extensions-cli/src/superset_extensions_cli/templates/backend/src/package/__init__.py.j2
create mode 100644
superset-frontend/packages/superset-core/src/translation/Translator.test.ts
create mode 100644
superset-frontend/packages/superset-core/src/translation/TranslatorSingleton.test.ts
create mode 100644 superset-frontend/src/hooks/usePermissions.test.tsx
create mode 100644 superset-frontend/src/pages/RedirectWarning/index.tsx
create mode 100644 superset-frontend/src/pages/RedirectWarning/utils.test.ts
create mode 100644 superset-frontend/src/pages/RedirectWarning/utils.ts
create mode 100644 superset/db_engine_specs/datastore.py
copy
superset/migrations/versions/{2024-02-07_17-13_87d38ad83218_migrate_can_view_and_drill_permission.py
=> 2026-03-02_12-00_a1b2c3d4e5f6_add_granular_export_permissions.py} (65%)
create mode 100644 superset/utils/link_redirect.py
create mode 100644 superset/views/redirect.py
create mode 100644 tests/integration_tests/db_engine_specs/datastore_tests.py
create mode 100644 tests/integration_tests/views/test_redirect_view.py
create mode 100644 tests/unit_tests/db_engine_specs/test_datastore.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_new_chart_types.py
create mode 100644
tests/unit_tests/security/test_granular_export_permissions.py
create mode 100644 tests/unit_tests/utils/test_link_redirect.py