Claude Code
a67c02b86a
fix(odps): fix CI failures in tests and requirements
...
- Remove pyodps from requirements/base.txt since it is not listed in
base.in (fixes check-python-deps CI failure)
- Use real sqlite dialect instead of MagicMock in select_star tests to
avoid TypeError from quote_table joining MagicMock strings
- Mock sys.modules for odps in URI-no-match test so the local import
succeeds and reaches the URI pattern matching code path
- Remove broken patch of __func__ readonly attribute that caused
AttributeError
- Fix not-partitioned test to mock sys.modules instead of patching a
module-level name that does not exist
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-11 15:34:37 -07:00
Claude Code
925e20bb04
fix(odps): address review feedback - security, recursion, typing, tests
...
- Move security check before ODPS partition detection (auth before backend calls)
- Wrap is_odps_partitioned_table in try/except with warning log and fallback
- Replace OdpsBaseEngineSpec.get_table_metadata body with NotImplementedError
- Fix select_star signature: engine: Engine -> dialect: Dialect (matches base)
- Update Optional[X] -> X | None for modern Python typing
- Remove broken __eq__ that violated frozen dataclass hash contract
- Fix Partition docstring typos and __str__ description
- Add warning log when ODPS URI does not match expected pattern
- Add tests/unit_tests/db_engine_specs/test_odps.py with 7 unit tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-11 14:00:48 -07:00
Evan Rusackas
9dd93d38b6
test(sql): add tests for Partition class
...
Add unit tests for the Partition class to cover __str__ and __eq__
methods and achieve 100% code coverage.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-03-11 13:55:33 -07:00
Evan Rusackas
a1bf361fe2
fix: ODPS (MaxCompute) data source table preview failed
...
When using the ODPS (MaxCompute) data source, previewing partitioned
tables in SQLLab would fail because ODPS requires a partition to be
specified for partition tables.
This PR adds ODPS-specific handling:
- New OdpsEngineSpec with partition detection support
- Modified select_star to add partition filter for ODPS partition tables
- New Partition dataclass in sql/parse.py
- New is_odps_partitioned_table method in DatabaseDAO
Closes #32301
Co-Authored-By: zhutong6688 <zhutong66@163.com >
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-03-11 13:55:33 -07:00
Amin Ghadersohi
3bb9704cd5
fix(mcp): honor target_tab parameter when adding charts to tabbed dashboards ( #38409 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 10:57:15 -07:00
Amin Ghadersohi
eb77452857
feat(mcp): auto-generate dashboard title from chart names when omitted ( #38410 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 10:56:58 -07:00
Amin Ghadersohi
0cfd760a36
fix(mcp): improve default chart names with descriptive format ( #38406 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 10:53:05 +01:00
Amin Ghadersohi
5c2cbb58bc
fix(mcp): add missing __init__.py for chart, dashboard, dataset packages ( #38400 )
2026-03-10 09:52:48 +01:00
Amin Ghadersohi
6342c4f338
feat(mcp): add horizontal bar chart orientation support to generate_chart ( #38390 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 09:52:12 +01:00
Amin Ghadersohi
2a876e8b86
fix(mcp): add missing command.validate() to MCP chart data tools ( #38521 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 09:50:41 +01:00
Hugh A. Miles II
61fbfda501
feat(security): add granular export controls (Phase 1) ( #38361 )
2026-03-09 16:44:56 -04:00
Enzo Martellucci
c7a1f57487
fix(sqla): parenthesize extras where/having clauses in query generation ( #38183 )
...
Co-authored-by: Diego Pucci <diegopucci.me@gmail.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 10:05:55 +01:00
HY Chang
3cb00bf116
feat(database): add Google Cloud Datastore db engine spec ( #37677 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-03-06 16:40:17 -08:00
Michael S. Molina
a6c0d6321f
chore(extensions): simplify backend package structure by removing superset_extensions namespace ( #38476 )
2026-03-06 14:49:49 -03:00
Beto Dealmeida
03ad1789f0
feat(alerts/reports): external URL warning ( #35021 )
2026-03-06 11:57:03 -05:00
Amin Ghadersohi
db7665c0bc
feat(mcp): add user roles to MCP response and permission-aware instructions ( #38367 )
2026-03-06 08:16:51 +01:00
Amin Ghadersohi
84a53eab31
feat(mcp): add pie, pivot table, and mixed timeseries chart creation support ( #38375 )
2026-03-06 08:13:47 +01:00
Amin Ghadersohi
3609cd9544
feat(mcp): add compile check to validate chart queries before returning ( #38408 )
2026-03-06 08:10:58 +01:00
Amin Ghadersohi
7d2efd8c1a
fix(mcp): suppress third-party deprecation warnings from client responses ( #38401 )
2026-03-06 08:02:25 +01:00
Michael S. Molina
357e35dc62
refactor(core): reorganize superset-core packages into feature-based structure ( #38448 )
2026-03-05 17:41:15 -03:00
Vitor Avila
8c9efe5659
feat: support for import/export masked_encrypted_extra (backend) ( #38077 )
2026-03-04 11:26:28 -08:00
Michael S. Molina
19f949276c
refactor(config): SIGNAL_CACHE_CONFIG → DISTRIBUTED_COORDINATION_CONFIG ( #38395 )
2026-03-04 09:40:21 -08:00
Evan Rusackas
51ac758b80
fix(tags): expire tag relationship after deleting all tagged objects ( #38163 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-03-04 10:37:19 -03:00
Vitor Avila
fa34609952
feat: Support OAuth2 single-use refresh tokens ( #38364 )
2026-03-03 16:07:15 -03:00
Gabriel Torres Ruiz
2ab9d37a00
fix(templates): restore css_bundle calls in spa.html for production builds ( #38350 )
2026-03-03 10:27:39 -08:00
Ville Brofeldt
c35bf344a9
chore(extensions): clean up backend entrypoints and file globs ( #38360 )
2026-03-03 09:45:35 -08:00
Michael S. Molina
a74d32ab44
feat(extensions): code-first frontend contributions ( #38346 )
2026-03-02 13:51:29 -08:00
Vitor Avila
6fe69fc81c
chore: Support specifying app_root via superset_config.py ( #38284 )
2026-02-28 01:35:08 -03:00
Joe Spadola
bb6ee9e722
fix(clickhouse): remove _mutate_label workaround and bump clickhouse-connect to >=0.13.0 ( #38280 )
2026-02-26 16:12:54 -08:00
Kamil Gabryjelski
660357c76b
feat: Persist default folders location when repositioned in folders editor ( #38105 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 15:58:25 +01:00
Amin Ghadersohi
ae99b19422
feat(mcp): add detailed JWT error messages and default auth factory fallback ( #37972 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 14:21:40 +01:00
Amin Ghadersohi
eef4d95c22
fix(mcp): add dataset validation for chart tools ( #37185 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-25 18:54:47 +01:00
Amin Ghadersohi
cc1128a404
feat(mcp): add response size guard to prevent oversized responses ( #37200 )
2026-02-25 09:43:14 -08:00
Amin Ghadersohi
c54b21ef98
fix(mcp): add eager loading to get_info tools to prevent N+1 query timeouts ( #38129 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 17:28:58 +01:00
Amin Ghadersohi
a1312a86e8
fix(mcp): normalize column names to fix time series filter prompt issue ( #37187 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-25 15:27:53 +01:00
Amin Ghadersohi
1cd35bb102
feat(mcp): dynamic feature availability via menus and feature flags ( #37964 )
2026-02-25 12:01:44 +01:00
Joe Li
5eb35a4795
fix(reports): validate database field on PUT report schedule ( #38084 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-24 16:58:19 -08:00
Ville Brofeldt
35c135852e
feat(extensions): add mandatory publisher field to extension metadata ( #38200 )
2026-02-24 09:42:17 -08:00
Vitor Avila
f60432e34c
fix: Allow non-owners to fave/unfave charts ( #38095 )
2026-02-24 11:28:32 -03:00
Evan Rusackas
c4eb7de6de
fix(excel): remove unwanted index column from Excel exports ( #38176 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-23 08:28:40 -08:00
Vitor Avila
228b598409
feat: Labels for encrypted fields ( #38075 )
2026-02-23 13:23:33 -03:00
Amin Ghadersohi
6e94a6c21a
fix(mcp): fix dashboard chart placement with proper COLUMN layout and tab support ( #37970 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 16:41:10 +01:00
Amin Ghadersohi
2a3567d2f1
fix(mcp): Remove unsupported thumbnail/preview URLs and internal fields from MCP schemas ( #38109 )
2026-02-23 12:44:12 +01:00
Enzo Martellucci
b565128fe7
fix(charts): improve error display for failed charts in dashboards ( #37939 )
2026-02-20 15:14:48 -08:00
Ujjwaljain16
2d44f52ad1
fix(encryption): resolve SECRET_KEY lazily to fix silent re-encrypt-secrets failures ( #37982 )
2026-02-20 14:10:09 -08:00
wuqicyber
6f34ba7d4a
fix(table-chart): support orderby adhoc columns with server-side pagination ( #37521 )
2026-02-21 00:29:34 +03:00
Amin Ghadersohi
9f8b212ccc
feat(mcp): add LIKE, ILIKE, IN, NOT IN filter operators to MCP chart tools ( #38071 )
2026-02-20 11:56:40 +01:00
Amin Ghadersohi
1ecff6fe5c
fix(thumbnails): stabilize digest by sorting datasources and charts ( #38079 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 09:51:35 +01:00
Richard Fogaca Nienkotter
5278deaf63
fix(metrics): normalize legacy currency strings ( #37455 )
2026-02-19 21:25:44 -03:00
Kamil Gabryjelski
f5a5a804e2
perf(dashboard): skip thumbnail_url computing on single dashboard endpoint ( #38015 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 18:15:20 +01:00