Nitish Agarwal
792d677634
fix(reports): respect CSV_EXPORT sep and decimal config in email reports ( #38616 )
2026-07-01 10:23:48 -07:00
Evan Rusackas
2d2a72b721
fix(sqllab): show non-ASCII text in array/JSON columns instead of \uXXXX escapes ( #41533 )
...
Co-authored-by: Vladislav Korenkov <73882772+Quatters@users.noreply.github.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 10:22:11 -07:00
Amin Ghadersohi
7f4cac63c9
fix(mcp): escape LIKE wildcards in find_users to prevent user enumeration ( #41593 )
2026-07-01 13:01:46 -04:00
Shaitan
2da2db6c7c
feat(sql): schema-qualified table denylist + information_schema/lo_* defaults ( #41120 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-01 16:57:45 +01:00
Shaitan
3651020014
fix(sql): cap parser input length via SQL_MAX_PARSE_LENGTH config ( #40499 )
...
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
Co-authored-by: sha174n <pedro.sousa@preset.io >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-07-01 16:32:12 +01:00
Mike Bridge
b9e3f0aa1e
feat(soft-delete): gate soft delete behind a temporary SOFT_DELETE release toggle ( #41166 )
...
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-01 08:09:52 -07:00
Raphael Prudencio
7cc7e9f6e3
fix(async-query): prevent JWT InvalidSubjectError for guest users ( #37862 )
...
Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
2026-06-30 23:42:41 -07:00
Evan Rusackas
35194fe4d5
fix(i18n): key translation-regression check on per-msgid transitions ( #41596 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 16:54:39 -07:00
Amin Ghadersohi
fd9c84be43
feat(mcp): add get_dashboard_datasets tool ( #40961 )
2026-06-30 18:27:09 -04:00
Amin Ghadersohi
2bd9ab4c59
feat(mcp): add remove_chart_from_dashboard tool ( #40958 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 18:16:08 -04:00
Amin Ghadersohi
bf88c62814
feat(mcp): add manage_native_filters tool ( #40960 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 17:07:49 -04:00
Evan Rusackas
4bf203ee70
chore(config): default SMTP_SSL_SERVER_AUTH to True ( #40647 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-30 13:50:38 -07:00
Amin Ghadersohi
c60d8bb656
feat(mcp): add tags + typed metadata fields to update_dashboard ( #40957 )
2026-06-30 10:36:31 -07:00
Amin Ghadersohi
c11fa206ce
feat(mcp): add duplicate_dashboard tool ( #40959 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 10:36:19 -07:00
yousoph
b8b23d6219
fix(bigquery): quote dotted STRUCT columns per-segment in drill to detail ( #41462 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-29 22:45:31 -07:00
Elizabeth Thompson
134919ea36
fix(screenshots): catch empty-bytes tiled result and set ERROR on falsy image ( #41097 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-29 11:52:40 -07:00
Evan Rusackas
adc03ce525
refactor: make import/expression layer SQLAlchemy 2.0-compatible ( #41179 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-29 11:38:59 -07:00
Evan Rusackas
16a3405e3c
fix(i18n): skip unparseable catalogs when building translation index ( #41465 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-29 10:11:20 -07:00
ʈᵃᵢ
a4d5b15955
fix(slack): support org-scoped tokens on Enterprise Grid via SLACK_TE… ( #41473 )
2026-06-29 09:46:25 -07:00
Evan Rusackas
1b7b9ce948
fix(tags): remove unsatisfiable foreign keys from tagged_object.object_id ( #41126 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-29 09:30:04 -07:00
Abdul Rehman
a529945d3b
fix(reports): commit permalink before Playwright navigation ( #41051 )
2026-06-28 17:48:44 -07:00
Evan Rusackas
7fc1113c31
fix(telemetry): use Scarf static pixel instead of gateway redirect ( #41129 )
...
Co-authored-by: Superset Dev <dev@superset.apache.org >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-27 22:41:17 -07:00
ʈᵃᵢ
25c9f3510a
test(mcp): set embedded on update_dashboard test mock ( #41495 )
2026-06-28 11:19:01 +07:00
Elizabeth Thompson
5ec0931840
fix(pandas_postprocessing): pass string operator names to GroupBy.agg to avoid FutureWarning ( #41025 )
2026-06-27 15:01:43 -07:00
Shaitan
cd8ac41d16
fix(datasource): validate expressions through the shared adhoc-expression checks ( #41427 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 19:47:59 +01:00
Krishna Chaitanya
a147079043
fix(bigquery): backslash-escape apostrophes in filter values ( #38835 )
...
BigQuery rejects filter values containing apostrophes (e.g. O'Brien): the
sqlalchemy-bigquery dialect renders string literals via repr(), which switches
to double-quote delimiters that BigQuery parses as identifiers, causing a
syntax error.
Monkey-patch the dialect's colspecs with a TypeDecorator whose literal_processor
emits single-quoted literals using backslash escaping ('O\'Brien'). Doubled
single quotes ('O''Brien') are NOT valid in BigQuery (parsed as concatenated
literals). Control characters are emitted as named escapes with a \xhh fallback,
since BigQuery forbids literal control chars in quoted strings. Follows the
existing Databricks dialect pattern.
Fixes #35857
2026-06-27 00:55:47 -07:00
Onur Taşhan
1280eaee18
fix(mcp): include embedded_uuid in get_dashboard_info response ( #41195 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-26 18:00:10 -07:00
Joe Li
98d0ccd7a7
fix(reports): reliability fixes for alert/report execution ( #41177 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 12:09:12 -07:00
Evan Rusackas
8aacb6f793
fix(async): derive async channel from guest token for embedded RLS queries ( closes #31492 ) ( #41397 )
...
Co-authored-by: Devin AI <devin-ai-integration[bot]@users.noreply.github.com>
2026-06-26 12:09:06 -07:00
Evan Rusackas
068a709c14
fix(config): expose build details (git SHA/build number) to admins only ( #41301 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-26 12:08:04 -07:00
Evan Rusackas
71c8e2f69d
fix(config): refuse to start with an empty SECRET_KEY ( #41299 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-26 12:07:17 -07:00
Amin Ghadersohi
a5dbb394e5
fix(thumbnails): add deduplication to dashboard thumbnail Celery tasks ( #38576 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-26 12:41:02 -04:00
SkinnyPigeon
0d43c2c12c
feat(reports): trigger alerts ( #41336 )
2026-06-25 22:01:39 -07:00
Greg Neighbors
2b09b6bc1d
feat(mcp): list_charts accepts dashboards filter ( #40397 )
...
Co-authored-by: gkneighb <26003+gkneighb@users.noreply.github.com >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-Air-2.lan >
2026-06-25 17:14:11 -07:00
Greg Neighbors
d8bcc66472
feat(mcp): dashboard layout, theme, and CSS control + update_dashboard tool ( #40399 )
...
Co-authored-by: gkneighb <26003+gkneighb@users.noreply.github.com >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-MacBook-Air-2.local >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-Air-2.lan >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@rusackas.com >
2026-06-25 10:41:07 -07:00
Evan Rusackas
4b9b8187b3
fix(config): make Swagger UI opt-in (off by default) ( #41300 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-25 10:34:28 -07:00
Mehmet Salih Yavuz
9a11c15a33
feat(explore): add full-range option for time-shift comparison ( #41334 )
2026-06-25 18:30:33 +03:00
Evan Rusackas
e0f3f93cd4
fix(mcp): require MCP_JWT_AUDIENCE when MCP JWT auth is enabled ( #41292 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:53:36 -07:00
Evan Rusackas
81f7e42f4e
fix(rls): preserve tables/roles on partial RLS rule updates ( #41294 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:16:47 -07:00
Evan Rusackas
0fd244b5c6
fix(security): reject unknown fields on guest-token RLS rules ( #41217 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-24 16:16:43 -07:00
Evan Rusackas
4f4663418f
fix(tests): stabilize update_chart MCP test failing on previous-Python CI leg ( #41310 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 16:16:14 -07:00
Evan Rusackas
f40abbbefd
fix(mcp): fail closed when the JWT verifier has no pinned algorithm ( #41296 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:15:42 -07:00
Evan Rusackas
6166af3c3c
fix(mcp): reject non-finite JWT exp instead of 500ing on int() overflow ( #41394 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:15:29 -07:00
Evan Rusackas
7363774869
fix(theming): deep-merge partial THEME_DEFAULT overrides with built-in defaults ( #41347 )
...
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 13:27:32 -07:00
abhyudaytomar
09c7ba14df
fix(export): sanitize control characters in titles to prevent export failures ( #39294 )
...
Co-authored-by: Abhyuday Tomar <abhyuday.tomar@exotel.com >
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 11:03:46 -07:00
yousoph
f6ce105450
fix(pandas-postprocessing): handle prophet errors and validate minimum data points for forecast ( #41180 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 10:44:23 -07:00
Shashwati Bhattacharyaa
91188a0302
fix(config): Wire LOGO_TARGET_PATH and document custom spinner usage ( #36951 )
...
Co-authored-by: Shashwati <shashwatibhattacaharya21.2@gmail.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Evan Rusackas <evan@rusackas.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-06-24 01:56:15 -07:00
Greg Neighbors
caf81e71d2
feat(mcp): add typed Pydantic response schemas to generate_explore_link tool ( #39900 )
...
Co-authored-by: gkneighb <26003+gkneighb@users.noreply.github.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-24 01:53:08 -07:00
Eddy
1b8c6d109d
feat: added deterministic field generation to dashboard export ( #36339 )
...
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 01:41:44 -07:00
Puneet Dixit
7b9bcdd951
fix(bigquery): preserve catalog in partition metadata lookup ( #40200 )
...
Co-authored-by: Puneet Dixit <rvit23bcs086.rvitm@rvei.edu.in >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-06-24 01:41:06 -07:00