sadpandajoe and Claude
6ef6996393
test(charts): guard ad-hoc metrics missing expressionType
...
A metric object shaped like a Custom SQL ad-hoc metric but missing
`expressionType` is silently rewritten into a bare string by
`QueryObject._set_metrics`, because `is_adhoc_metric` classifies a metric
solely by the presence of that one key. The string used is the metric's
`label`, which for a Custom SQL metric is the SQL text itself, so metric
resolution then reports `Metric '<sql text>' does not exist`.
`ChartDataAdhocMetricSchema` declares `expressionType` as required, but
`ChartDataQueryObjectSchema.metrics` is a list of `fields.Raw`, so that
contract is never enforced at the API boundary.
Adds a regression guard that reproduces the coercion through the real
request-deserialization path and the resulting error through the real query
builder, plus two tests fencing a fix from over-correcting: the legacy
`{"label": ...}` saved-metric reference must keep collapsing to its name, and
a well-formed Custom SQL metric must stay an ad-hoc definition.
The first test is red until the coercion is narrowed; the fix is not applied
here. RCA.md records the analysis, including the unresolved question of what
omits `expressionType` from the request in the first place.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-08-20 00:39:18 +00:00
Sumit Kumar and Claude Opus 4.8
1569915096
feat(multi-value): array-typed column filters with two-tier operators (ClickHouse MVP) ( #41279 )
...
Signed-off-by: thedeceptio <thedeceptio@gmail.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-19 10:56:49 -07:00
Bexultan and Bexultan Mustafin
fde0ba26d1
fix(mcp): validate virtual dataset metadata and surface errors ( #43129 )
...
Co-authored-by: Bexultan Mustafin <bexultan.mustafin@ffins.kz >
2026-08-19 10:50:37 -07:00
David Dallakyan
5ce52e531d
fix(clickhouse): add PT1S time grain ( #43217 )
2026-08-18 15:49:18 -07:00
Endi Monan
f994602096
fix(dashboard): align list OpenAPI schema ( #43256 )
2026-08-18 10:22:50 -07:00
Amin Ghadersohi and Claude Fable 5
086b4af65d
feat(mcp): per-resource token scopes with user-permission intersection ( #42297 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 13:11:27 -04:00
fd063d17bf
fix(security): harden account password-change and session-invalidation handling ( #42934 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-08-18 17:40:08 +01:00
Joe Li and Claude Opus 4.8
2d1daac11a
fix(explore): samples endpoint now honors requested row limit ( #43148 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 09:28:04 -07:00
13eb47a1da
fix(api): improved request handling and embedded dashboard scoping ( #42930 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Superset Dev <dev@superset.apache.org >
2026-08-17 23:50:25 -07:00
Elizabeth Thompson and Claude Opus 4.8
98136d547c
fix(reports): fail closed on alert screenshot capture instead of delivering a blank ( #43031 )
...
Signed-off-by: Elizabeth Thompson <eschutho@gmail.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 00:03:15 -04:00
Elizabeth Thompson and Claude Opus 4.8
e2070d79dc
fix(reports): wait for ECharts paint before capturing report screenshots ( #43077 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 00:02:36 -04:00
Beto Dealmeida
2f8875aaef
feat(semantic layers): optional metadata for metrics/dimensions ( #43269 )
2026-08-17 17:34:17 -07:00
Elizabeth Thompson
6e270df4a2
fix(sql-lab): catch TemplateError in StreamingSqlResultExportCommand.validate ( #43226 )
2026-08-17 15:02:11 -07:00
Amin Ghadersohi
aaf9eba161
fix(db_engine_specs): skip malformed third-party dialect entry points ( #43110 )
...
Signed-off-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-08-17 14:10:06 -07:00
Mehmet Salih Yavuz
cfd40bdd0d
fix(dashboard): derive filter scope on read instead of serving a stale cache ( #43252 )
2026-08-17 19:23:19 +03:00
4684851336
fix(import): isolate per-tag import in a SAVEPOINT to avoid poisoned session ( #42912 ) ( #42920 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-08-14 21:56:43 -07:00
e7139a7ac2
fix(models): enforce one OAuth2 token per user+database ( #42897 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-14 21:50:56 -07:00
21ae918656
fix(mcp): validate chart queries before persistence ( #43128 )
...
Co-authored-by: Bexultan Mustafin <bexultan.mustafin@ffins.kz >
Co-authored-by: Joe Li <joe@preset.io >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-08-14 17:48:19 -07:00
JUST.in DO IT
f4587218dd
fix(mcp): populate user_id in MCP audit logs ( #42767 )
2026-08-14 16:28:01 -04:00
Amin Ghadersohi
8967e6c2d3
fix(mcp): accept changed_on_delta_humanized as order_column in list tools ( #42571 )
2026-08-14 16:11:46 -04:00
Amin Ghadersohi
81e431cd50
fix(mcp): return all chart query results ( #42824 )
2026-08-14 16:10:26 -04:00
Amin Ghadersohi
edfb009e1c
fix(mcp): expose query context to Jinja macros ( #42822 )
2026-08-14 16:10:03 -04:00
Amin Ghadersohi
e808fcbcad
fix(mcp): bind all generated charts to dashboard time filters ( #42490 )
2026-08-14 16:07:50 -04:00
1e65d93a83
fix(sql): handle ORDER BY in embedded MSSQL queries ( #43127 )
...
Co-authored-by: Bexultan Mustafin <bexultan.mustafin@ffins.kz >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-08-14 14:07:10 -04:00
Gabriel Torres Ruiz
856599027a
fix(mcp): harden the embedded-guest chart data-read path
2026-08-14 14:55:11 -03:00
537f0fd2db
fix(sqllab): use dialect-specific quote chars for autocomplete identifiers ( #41492 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-08-13 14:04:38 -07:00
3fb58900b9
chore(duckdb): remove cursor.description workaround, no longer reproducible ( #43101 )
...
Co-authored-by: Superset Dev <dev@superset.apache.org >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-08-13 13:16:16 -07:00
a63483b9b1
fix(sql): rebase Dremio dialect on sqlglot's native dialect ( #43099 )
...
Co-authored-by: Superset Dev <dev@superset.apache.org >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-08-13 13:16:06 -07:00
3c7633f935
fix(encrypt): stop naive padding from truncating secrets ending in '*' ( #43074 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-08-13 13:15:37 -07:00
Amin Ghadersohi
117b92a517
fix(mcp): expose table column formatting ( #42658 )
2026-08-13 15:21:44 -04:00
ec136f6d8d
fix(charts): decode CSV bytes payload before feeding pandas StringIO ( #32370 ) ( #42735 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-08-13 11:06:09 -07:00
d0658bacc8
fix(mcp): give concurrent tool calls isolated db sessions ( #42629 )
...
Co-authored-by: goingforstudying-ctrl <goingforstudying-ctrl@users.noreply.github.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
Co-authored-by: Joe Li <joe@preset.io >
2026-08-13 11:05:40 -07:00
ʈᵃᵢ
b8ca729f9f
fix(sql): only force a LIMIT onto query expressions ( #43097 )
2026-08-13 10:43:45 -07:00
Amin Ghadersohi
762fdccfde
fix(oauth2): log database token failures ( #42644 )
2026-08-13 12:54:55 -04:00
Amin Ghadersohi and Claude
5554b892ff
fix(mcp): preserve table chart state during updates ( #42655 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-13 12:54:05 -04:00
Evan Rusackas and Claude Opus 4.8
59361581cd
fix(embedded): restore chart rendering for guest dashboards ( #43095 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-13 05:38:57 -07:00
endimonan
685f26b1bf
fix(cache): warm native dashboard filter defaults ( #43073 )
2026-08-12 22:30:48 -07:00
bc1a8e0858
refactor(tags): align ExportTagsCommand with ExportModelsCommand ( #42339 )
...
Co-authored-by: Prathamesh Hukkeri <prathamesh04@users.noreply.github.com >
Co-authored-by: rusackas <evan@rusackas.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-08-12 21:44:53 -07:00
Evan Rusackas and Claude Opus 4.8
0915a39bcb
fix(dataset): improve dataset, report, and expression validation ( #42929 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-12 20:13:45 -07:00
8014f782d3
feat: bump SQLAlchemy to 2.0 and flask-sqlalchemy to 3.1.1 ( #42803 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
Co-authored-by: Superset Dev <dev@superset.apache.org >
2026-08-12 19:55:14 -07:00
Evan Rusackas and Claude Opus 4.8
01ecefd732
fix(security_manager): stop SupersetAuthView from shadowing AUTH_REMOTE_USER ( #42949 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-12 18:09:46 -07:00
Elizabeth Thompson
0c2f91968e
fix: commit migration write in get_shared_value to stop recurring md5 deprecation warning ( #42916 )
2026-08-12 15:02:34 -07:00
Evan Rusackas and Claude Code
ed696b9933
test(sql): pin optimizer hint blocks survive format() round-trip ( #38189 ) ( #42733 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-08-12 14:49:55 -07:00
Joe Li
4baf1cf648
fix(reports): preserve Slack v1 private-channel text delivery ( #42089 )
2026-08-12 14:42:57 -07:00
onheap and keyao_yang
a501fed560
fix(rls): handle same-named CTEs and quoted aliases in the SQL rewrite ( #43005 )
...
Co-authored-by: keyao_yang <keyao.yang@airbnb.com >
2026-08-12 10:38:36 -03:00
Evan Rusackas and Claude Code
4354b37b96
fix(sql-lab): apply SQL_QUERY_MUTATOR to streaming exports ( #40465 ) ( #42739 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-08-12 05:56:01 -07:00
Evan Rusackas and Claude Code
8f6587d0e6
fix(caching): sort extra_cache_keys before hashing ( #34543 ) ( #42597 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-08-11 23:34:01 -07:00
Evan Rusackas and Claude Code
b4f3fae288
fix(sql): guard FORCE_LIMIT against SHOW statements ( #36939 ) ( #42588 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-08-11 23:33:15 -07:00
8734a232d8
fix(reports): apply chart number and currency formatting to tables sent as text ( #42820 )
...
Co-authored-by: Jean Massucatto <massucattoj@gmail.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-11 21:48:37 -07:00
Amin Ghadersohi
56573fa2cd
feat(mcp): filter asset lists by certification ( #42656 )
2026-08-12 00:12:38 -04:00